asp.net-mvc – MVC 3 Ajax.ActionLink不能正常工作
发布时间:2020-12-15 19:51:28 所属栏目:asp.Net 来源:网络整理
导读:我正在玩一些基于MvcMusicStore示例的商店,并且在使用MVC3 Ajax.ActionLink / Ajax.RouteLink助手时遇到了一些问题.问题是它根本不生成Ajax请求(Request.IsAjaxRequest()== false).我使用Ajax.BeginForm / Ajax.BeginRouteForm生成的表单虽然很好用. 配置:
我正在玩一些基于MvcMusicStore示例的商店,并且在使用MVC3 Ajax.ActionLink / Ajax.RouteLink助手时遇到了一些问题.问题是它根本不生成Ajax请求(Request.IsAjaxRequest()== false).我使用Ajax.BeginForm / Ajax.BeginRouteForm生成的表单虽然很好用.
配置: <appSettings> <add key="ClientValidationEnabled" value="true"/> <add key="UnobtrusiveJavaScriptEnabled" value="true"/> </appSettings> 脚本: <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script> 链接: @Ajax.ActionLink("show cart","Show","Cart",new AjaxOptions() { OnSuccess = "handleSuccess",HttpMethod = "Get",OnFailure = "handleFailure" }) 生成HTML: <a data-ajax="true" data-ajax-failure="handleFailure" data-ajax-method="Get" data-ajax-success="handleSuccess" href="/Cart/Show">show cart</a> 如上所述,这很好用: @using (Ajax.BeginForm( "Show",new { controller = "Cart" },new AjaxOptions { OnSuccess = "handleSuccess",OnFailure = "handleFailure" })) { <input type="submit" class="button" /> } 该动作如下所示: [Authorize] public ActionResult Show() { if (Request.IsAjaxRequest()) { ViewBag.CartItems = ShoppingCart.GetCart(this) .Items; return Json(new AjaxResultViewModel() { Content = RenderPartialViewToString(),UpdateTargetSelector = "#dialog",InsertionMode = InsertionMode.InsertBefore },JsonRequestBehavior.AllowGet); } ViewBag.Exception = new NotSupportedException(); return View("Error"); } 我一直在寻找一段时间而无法找到这种行为的原因,也许有人可以帮助我? 最好的祝福! 解决方法
在靠近底部的_layout.cshtml上的新MVC4模板中,有一个@ Scripts.Render(“?/ bundles / jquery”).
我必须包括 这解决了我使用索引页面进行完整回发时遇到的问题.我的动作链接代码: <div id="timeDisplay"> @Ajax.ActionLink("Click to display server time","Time",new AjaxOptions { HttpMethod="GET",UpdateTargetId="timeDisplay"}); </div> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
推荐文章
站长推荐
- asp.net – 如何使用Excel服务器端?
- asp.net-mvc-4 – 同一网站的不同域的robots.txt
- asp.net-mvc – 同步ASP.NET MVC回发回调的问题
- asp.net-mvc – ASP.NET MVC 3简单可靠的移动设备
- asp.net – 实体框架:如何解决“FOREIGN KEY约束
- 如何识别ASP.NET Web表单和ASP.NET MVC网站?
- asp.net – DBMS如何影响应用程序性能?和Inform
- asp.net-mvc – 更新实体框架MVC中的子实体
- asp.net-mvc – MVC数据注释范围验证无法正常工作
- C#获取某一路径下的所有文件名信息(包括子文件夹
热点阅读