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

坚持着执着 2020-06-07

【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>

相关推荐

mmywcoco / 0评论 2020-06-06