Tag: asp.net mvc

转换/修改asp.net标识中的声明2

在Windows Identity Framework(WIF)中,您可以实现一个ClaimsAuthenticationManager ,以修改对主体的声明或向其添加新声明。 声明身份validation管理器在应用程序的声明处理管道中提供了一个可扩展点,您可以使用该点来validation,过滤,修改,传入声明或在执行RP应用程序代码之前将新声明注入ClaimsPrincipal提出的声明集中。 ASP.net Identity 2是否有这样的管道钩子? 如果我想添加一些声明而不将它们保存在AspNetUserClaims表中,我该怎么做?

为什么PartialView会自行调用?

我试图设置一个小型演示,其中一篇文章有​​多个评论。 文章详细信息视图应该在局部视图中呈现注释。 partialView本身包含另一个用于添加新注释的局部视图。 当我尝试添加另一个注释时,我收到InsufficientExecutionStackException ,因为控制器中的操作一直在调用自身。 为什么会这样? (如果有人掌握了课程材料。类似的例子应该是来自Msft的70-486课程的模块9;这就是我想要建立的。) 编辑:完整代码在github上 Edit2: Github上的示例已修复。 正如Stephen Muecke所指出的那样,事实上, GET和POST方法都有相同的名称,导致循环引用。 在更多人指出之前,缺少DI和View模型,并且重新呈现所有注释都是次优的:是的我知道,不,那些事情都没有,我想完成。 这只是一个快速的脏演示。 控制器: [ChildActionOnly] public PartialViewResult _GetCommentsForArticle(int articleId) { ViewBag.ArticleId = articleId; var comments = db.Comments.Where(x => x.Article.ArticleId == articleId).ToList(); return PartialView(“_GetCommentsForArticle”, comments); } public PartialViewResult _CreateCommentForArticle(int articleId) { ViewBag.ArticleId = articleId; return PartialView(“_CreateCommentForArticle”); } [HttpPost] public PartialViewResult _CreateCommentForArticle(Comment comment, int articleId) […]

Asp.Net Web API中带字典参数的方法

我需要对包含Dictionary作为参数的方法发出GET请求。 我浏览但无法找到有关如何发送字典的任何信息,所以我的请求命中我的方法。 方法签名如下所示 public void AddItems(Dictionary Items) 最好的祝福, 凯末尔

在策略设计模式的情况下,Hangfire服务器无法选择作业

我有以下申请: 1) Mvc应用程序 :Hangfire客户端,我将在那里排队作业和主持仪表板。这个应用程序将包含我的类库的参考。 2) 控制台应用程序 :Hangfire服务器将存在于此控制台应用程序中。 3) 类库 :hangfire服务器(控制台应用程序)和hangfire客户端(asp.net mvc)之间的共享库,我的长时间运行的代码将驻留在该库中.Hangfire服务器将执行该库的代码。 我在战略设计模式下的类库中有如下结构。 代码取自以下: 参考: 接口: public interface IOperation { Output Process(Input input); bool AppliesTo(Type type); } public interface IOperationStrategy { Output Process(Type type,Input input); } 操作: public class Add : IOperation { public bool AppliesTo(Type type) { return typeof(Add).Equals(type); } public Output Process(Input input) { […]

Mvc运行时错误 – 尚未启用角色管理器function

我正在尝试手动实现基本角色管理。 当用户登录时,如果他们是管理员,则会将他们添加到角色中 我收到此错误: exception详细信息:System.Configuration.Provider.ProviderException:尚未启用角色管理器function。 这是导致错误的方法: public void addUserToRole(String user, String role) { if (!Roles.RoleExists(role)) Roles.CreateRole(role); Roles.AddUserToRole(user, role); } 这是我的web.config 我在google上看到了很多答案,包括在web.conf中添加不同的角色属性,到目前为止还没有运气 有人可以帮忙吗?

将js变量或inout值传递给razor

是否可以将js变量或html值传递给razor? @{ int n = ?????; Html.RenderPartial(“_AddressBookEdit”, @Model.Addresses[n]); } 如何从javascript设置变量n或从隐藏字段中为其赋值? n = $(‘#myvar’).val()’; 上面的代码不起作用。

ASP.NET Core 1.0 POST IEnumerable 到控制器

我有一个动作,返回一个模型到视图IEnumerable 。 在视图中,我使用foreach遍历列表。 T类型具有名为Amount的属性。 现在,当我单击SAVE按钮时,我想将模型(IEnumerable)发布到一个动作。 IEnumerbale项目,其属性Amount应包含正确的值。 当我提交它时,在动作中,模型为空。 为了测试, IEnumerable是IEnumerable public class Product { public string Title { get; set; } public int Amount { get; set; } } 查看显示产品: @model IEnumerable @foreach (var product in Model) { @product.Title } SAVE 控制器后期行动: [HttpPost] public async Task Order(IEnumerable model) { }

ASP.NET 5 Kestrel在LAN内连接

我想从同一网络中的另一台PC上连接到我的Kestrel服务器,其中包含ASP.NET 5应用程序。 可能吗? 我可以从cmd ping我的电脑,但是当我尝试从网络浏览器连接时,我得到’连接超时’(我输入:“http:// {my_kestrel_ip}:5000 /”)。

使用C#将多个参数发布到MVC控制器

我将一个json对象发布到带有C#代码的ASP.Net MVC控制器。 为了简化此示例,对象只是一个具有make和model属性的汽车。 一切都适用于下面的代码。 我的问题是 – 如何发布多个参数? 例如,我如何发布JSON对象,电子邮件地址和电话号码? //post to form string requestData = “{\”Make\”:\”Ford\”,\”Model\”:\”Mustang\”}”; byte[] data = Encoding.UTF8.GetBytes(requestData); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(“http://receiving.url/showdata”); request.Method = “POST”; request.ContentType = “application/json”; Stream dataStream = request.GetRequestStream(); dataStream.Write(data, 0, data.Length); dataStream.Close(); WebResponse response = request.GetResponse(); string result = new StreamReader(response.GetResponseStream()).ReadToEnd(); Console.Write(result); 这是从代码中检索json对象的Controller代码,然后输出json以进行validation。 [HttpPost] public JsonResult showdata(Car c) { return […]

MVC MapPageRoute和ActionLink

我创建了一个页面路由,因此我可以将我的MVC应用程序与我项目中存在的一些WebForms页面集成: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”); // register the report routes routes.MapPageRoute(“ReportTest”, “reports/test”, “~/WebForms/Test.aspx” ); routes.MapRoute( “Default”, // Route name “{controller}/{action}/{id}”, // URL with parameters new { controller = “Home”, action = “Index”, id = UrlParameter.Optional } ); } 每当我在我的视图中使用Html.ActionLink时,这就产生了一个问题: 当我在浏览器中加载页面时,链接显示如下: http://localhost:12345/reports/test?action=Index&controller=Home 有没有人遇到过这个? 我怎样才能解决这个问题?