asp.net-mvc – MVC 3 Ajax.ActionLink不能正常工作
发布时间:2020-05-24 22:35:45 所属栏目:asp.Net 来源:互联网
导读:我正在玩一些基于MvcMusicStore示例的商店,并且在使用MVC3 Ajax.ActionLink / Ajax.RouteLink助手时遇到了一些问题.问题是它根本不生成Ajax请求(Request.IsAjaxRequest()== false).我使用Ajax.BeginForm / Ajax.BeginRouteForm生成的表单虽然很好用. 配置: a
|
我正在玩一些基于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 – 什么时候调用Application_End,我该如何手动导致
- Asp.net mvc – Html提交按钮未发送帖子?
- asp.net – Session_End不启动?
- asp.net-mvc – ASP.Net MVC 5 w /身份2.2.0注销不工作
- asp.net-mvc – 用于ASP.NET MVC的Spark T4模板
- asp.net核心 – 如何在ASP.NET vNext MVC中实现会话状态6
- asp.net-mvc-3 – ActionButton而不是ActionLink
- .net – 404控制器在外部组件
- asp.net-mvc-3 – 名称’ViewBag’在当前上下文中不存在
- asp.net-mvc-2 – 在名称中使用连字符处理MVC2变量
推荐文章
站长推荐
- asp.net – 在新的VS 2013 Identity UserManager
- 强烈推荐的一个工具ReSharper
- asp.net – ViewState作为属性
- asp.net-mvc – 在MVC应用程序中ExtensionlessUr
- asp.net – 将GridView导出到多个Excel工作表
- ASP.NET Web应用程序(MVC)部署自动化和Subversio
- asp.net – 查找应用程序根URL而不使用
- asp.net-mvc – @ Html.Action in Asp.Net Core
- 在ASP.NET WebForms中使用jQuery调用’WebMethod
- asp.net – 在剃刀中等同于End / Response.End?
热点阅读
