54°

@Ajax.ActionLink跳转页面的问题解决方案 MVC Ajax不支持问题

【JavaScriptResult】在客户端执行服务器返回的JavaScript代码
当一个内置的Ajax辅助方法请求一个操作方法,该方法会返回一个在客户端执行立即的脚本。

public ActionResult DoSomething()
{
     string s = "$('#some-div').html('Updated')";
     return JavaScript(s);
}

 

@Ajax.ActionLink("单击", "DoSomething", new AjaxOptions());
<div id="some-div"></div>

 

使用JavaScript的视图页面需要引用以下js,请使用NuGet安装:

@section Scripts{
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
}

貌似使用Ajax.ActionLink跳转了页面,而不是刷新当前视图。最后通过分析发现视图代码、脚本引用均未出现问题。而是web.config中缺少以下配置:
在appSettings节点下需要启用对JavaScript的支持,否则也是无法使用@Ajax.ActionLink的。

<appSettings>
<!--<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />-->
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

 

本文转载自博客园,原文链接:https://www.cnblogs.com/licin/p/13061682.html

全部评论: 0

    我有话说: