使用 MVC3、C# 和 Razor 视图引擎:
我有一个带有 Ajax 操作链接的表单。在选项中,我尝试指定 OnBegin 和 OnComplete javascript 函数调用。在这个问题中,我取出了功能的核心部分,并简单地添加了警报,以便我可以验证功能是否受到攻击。我真正想用这些函数做的是在 ajax 调用期间使用 $.blockUI。
相关代码如下所示:
@Ajax.ActionLink("my test link", "myAction", new { Controller = "myController" }, new AjaxOptions { OnBegin = "ajaxStart", OnComplete = "ajaxStop" })
<script type="text/javascript">
function ajaxStart() {
alert("start");
}
function ajaxStop() {
alert("stop");
}
</script>
由于某种原因,这两个函数永远不会按照指定的方式调用。我已经尝试过带括号和不带括号,例如:
@Ajax.ActionLink("my test link", "myAction", new { Controller = "myController" }, new AjaxOptions { OnBegin = "ajaxStart()", OnComplete = "ajaxStop()" })
都不起作用。
有任何想法吗?
谢谢,
托尼
确保您已将以下脚本添加到您的页面中:
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
并且您已在 web.config 中启用了不显眼的 ajax:
<appSettings>
...
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
在 ASP.NET MVC 3 中,不引人注目的 javascript 与 jQuery 一起使用,因此如果您不包含正确的脚本,则不会解释 html 帮助程序发出的 HTML5 data-* 属性,并且不会发送 AJAX 请求。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)