Tag: asp.net mvc

如何在jQuery中发送模型$ .ajax()发送请求到MVC控制器方法

在使用下面的代码进行自动刷新时,我假定当我发布post时,模型会自动发送到控制器: $.ajax({ url: '<%=Url.Action("ModelPage")%>', type: "POST", //data: ?????? success: function(result) { $("div#updatePane").html(result); }, complete: function() { $('form').onsubmit({ preventDefault: function() { } }); } }); 每次有一个post,我需要增加模型中的值属性: public ActionResult Modelpage(MyModel model) { model.value = model.value + 1; return PartialView("ModelPartialView", this.ViewData); } 但是,当使用jQuery AJAX请求发布页面时,模型不会传递给控制器​​。 我如何在AJAX请求中发送模型?

将ASP.Net MVC与WebForms相结合

是否有可能创build一个MVC根应用程序(带有主页和主题的门户),并添加一对基于WebForms的子项目(我们已经有一个现有的WebForms应用程序,我们想要集成到门户网站中)? 你将如何集中导航(站点地图,url路由)? 你将如何分享主页? 你如何参考资源(〜问题等)? 像这里描述的解决scheme似乎有些过时

Asp.net MVC4:授权在控制器和行动

如果我在控制器和操作上都有“授权”属性,哪一个会起作用? 或者两者都会生效?

jQuery中$ .getJSON()和$ .ajax()之间的区别

我正在调用ASP.NET MVC操作 public JsonResult GetPatient(string patientID) { … 从JavaScript使用jQuery。 以下通话起作用 $.getJSON( '/Services/GetPatient', { patientID: "1" }, function(jsonData) { alert(jsonData); }); 而这一个没有。 $.ajax({ type: 'POST', url: '/Services/GetPatient', data: { patientID: "1" }, contentType: 'application/json; charset=utf-8', dataType: 'json', success: function(jsonData) { alert(jsonData); }, error: function() { alert('Error loading PatientID=' + id); } }); 两者都达到操作方法,但是,$ .ajax调用时,patientID值为空。 我想使用$ .ajax调用一些高级callback。 […]

如何得到一个ASP.NET MVC的Ajax响应redirect到新的页面,而不是将视图插入到UpdateTargetId?

我正在使用Ajax.BeginForm来创build一个表单,将执行一个AJAX回发到一个特定的控制器操作,然后如果操作成功,用户应该被redirect到另一个页面(如果操作失败,则状态消息显示使用AjaxOptions UpdateTargetId)。 using (Ajax.BeginForm("Delete", null, new { userId = Model.UserId }, new AjaxOptions { UpdateTargetId = "UserForm", LoadingElementId = "DeletingDiv" }, new { name = "DeleteForm", id = "DeleteForm" })) { [HTML DELETE BUTTON] } 如果删除成功,我将返回一个redirect结果: [Authorize] public ActionResult Delete(Int32 UserId) { UserRepository.DeleteUser(UserId); return Redirect(Url.Action("Index", "Home")); } 但主控制器索引视图正在加载到UpdateTargetId,因此我最终在一个页面内的页面。 我正在考虑两件事情: 要么我构build这个错误,应该以不同的方式处理这种types的行为(不使用ajax)。 返回一个redirect结果,而不是返回一个视图,其中包含JavaScript,在客户端进行redirect。 有没有人对#1有评论? 或者,如果#2是一个很好的解决scheme,那么“redirectJavaScript视图”是什么样的?

如何在由@Html助手生成的MVC中更改“data-val-number”消息validation

假设这个模型: Public Class Detail … <DisplayName("Custom DisplayName")> <Required(ErrorMessage:="Custom ErrorMessage")> Public Property PercentChange As Integer … end class 和观点: @Html.TextBoxFor(Function(m) m.PercentChange) 将继续这个HTML: <input data-val="true" data-val-number="The field 'Custom DisplayName' must be a number." data-val-required="Custom ErrorMessage" id="PercentChange" name="PercentChange" type="text" value="0" /> 我想自定义data-val-number错误消息,我猜是因为PercentChange是一个Integer 。 我正在寻找这样一个属性来改变它, range或任何相关的不工作。 我知道有机会编辑不引人注目的js文件本身或在客户端覆盖它。 我想改变data-val-number的错误信息就像服务器端的其他人一样。

更新用户数据 – ASP.NET身份

我已经将自定义字段添加到ApplicationUser类 我也创build了一个用户可以input/编辑字段的表单。 但由于某种原因,我无法更新数据库中的字段。 [HttpPost] [ActionName("Edit")] [ValidateAntiForgeryToken] public async Task<ActionResult> Manage(EditProfileViewModel model) { if (ModelState.IsValid) { // Get the current application user var user = User.Identity.GetApplicationUser(); // Update the details user.Name = new Name { First = model.FirstName, Last = model.LastName, Nickname = model.NickName }; user.Birthday = model.Birthdate; // This is the part that doesn't work […]

如何使用JavaScript或jQuery在新选项卡中打开URL?

如何以编程方式在新选项卡而不是新窗口中打开一个URL?

MVC和Razor中的Html.TextboxFor和Html.EditorFor之间的区别

为什么在添加一个新的“编辑”视图时默认情况下会改变? 使用EditorFor()和TextboxFor()时有什么优势? 我find了这个 默认情况下,创build和编辑脚手架现在使用Html.EditorFor帮手,而不是Html.TextBoxFor帮手。 当“添加视图”对话框生成视图时,这会以数据注记属性的forms改进对模型上元数据的支持。

如何使用ASP.NET MVC和AngularJS路由?

我正在开发一个新的ASP.NET MVC和AngularJS应用程序,这个应用程序是为了成为一个SPA的集合。 我正在使用MVC区域概念来分离每个单独的SPA,然后在每个MVC区域内使用AngularJS来创buildSPA。 由于我是AngularJS的新手,无法find有关将MVC和AngularJS路由相结合的答案,所以我想我会在这里发表我的问题,看看能否得到一些帮助。 我有标准的MVC路由设置,它提供了每个MVC区域。 public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapMvcAttributeRoutes(); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); routes.AppendTrailingSlash = true; } 这工作正常,给我的url如: http://servername/Application1/ http://servername/Application2/ 现在,在每个应用程序区域,我试图使用AngularJS路由,也使用$ locationProvider.html5Mode(true); 这样我可以在每个区域内获得客户端路由,例如: http://servername/Application1/view1 http://servername/Application1/view2 http://servername/Application2/view1/view1a http://servername/Application2/view2/view2a http://servername/Application2/view3 这里是我的AngularJS的Application1路由片段: app1.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) { var […]