asp.net-mvc – 带有Ajax.ActionLink的HTTP 404
发布时间:2020-12-16 03:35:21 所属栏目:asp.Net 来源:网络整理
导读:我在解决404错误时遇到了麻烦: Global.asax.cs中的默认路由: routes.MapRoute( "Default","{controller}/{action}/{id}",new { controller = "Home",action = "Index",id = UrlParameter.Optional } ); VideoController.cs: [HttpPost]public ActionResul
我在解决404错误时遇到了麻烦:
Global.asax.cs中的默认路由: routes.MapRoute( "Default","{controller}/{action}/{id}",new { controller = "Home",action = "Index",id = UrlParameter.Optional } ); VideoController.cs: [HttpPost] public ActionResult Save(int id) { try { return Json(new { ID = "0" }); } catch { return new HttpStatusCodeResult(418,"I'm a teapot"); } } 在我看来,Action.cshtml中的ActionLink: @Ajax.ActionLink("GoSave","Save","Video",new { id = 1 },new AjaxOptions { OnFailure = "Error",OnSuccess = "Saved",HttpMethod = "POST" }) actionlink的url按预期呈现:/ Video / Save / 1 当我点击链接时,我得到了404. 我没看到什么? 解决方法
我打赌你错过了一个脚本包含:
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script> 这将不引人注意地AJAXify Ajax.ActionLink生成的结果并执行POST请求而不是默认的GET请求.您收到404是因为您没有包含此脚本,因此发送了GET请求,并且视频控制器上没有能够接收GET请求的Save操作. 如果您使用过FireBug,您会立即看到:浏览器只是重定向并发送GET请求而不是预期的Ajax POST请求. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何在Page_Load上获取参数
- ASP.NET MVC 5从Javascript Error调用控制器方法
- asp.net mvc和sql查询
- ASP.NET MVC3 AJAX.BeginForm AjaxOptions OnSuccess OnFai
- ASP.NET Web.config转换将无法在安装程序中使用
- Dapper和MVC VNext中的问题
- asp.net – 防止在ASP .Net中为单个用户进行多次登录
- 在asp.net mvc中如何使用usercontrols来显示“岛”数据?
- asp.net HiddenField:动态添加自定义属性
- asp.net-mvc – 如何在运行时之前编译cshtml
推荐文章
站长推荐
- asp.net – 从MVC控制器返回不同的视图
- 显示在文本框,标签后面的菜单. ASP.NET/C#
- asp.net-mvc – 将HTML.EditorFor转换为下拉列表
- SCRIPT87:IE 9中无效的参数,ASP.NET C#
- asp.net – 我应该为10,000个并发用户实现哪个.n
- asp.net-mvc – 为Azure Web角色定义缩放阈值
- asp.net-mvc – 设置下拉项目选择MVC
- asp.net-mvc – aspnet_Profiles表中的PropertyV
- 使用asp.net在互联网上流式传输音频和视频
- asp.net-mvc-3 – 使用Windows身份验证获取WCF中
热点阅读