【发布时间】:2017-07-01 22:56:06
【问题描述】:
我有以下标记:
<ul class="nav nav-tabs">
<li>@Ajax.ActionLink("Home", "Index", "Home", new AjaxOptions { UpdateTargetId = "updaterDiv", OnSuccess = "function() {alert('onsuccess fired'); }"}) </li>
...
<div id="updaterDiv" style=" height: 200px; width: 200px;">
</div>
HomeController 中的 Index 动作
public ActionResult Index()
{
if (Request.IsAjaxRequest())
{
return PartialView("_RefreshedHandler");
}
return View();
}
当我单击链接时,AjaxOptions 中的 OnSuccess 事件没有被触发。我究竟做错了什么? 我想要实现的是避免在单击链接时在整个页面上进行回发和更新,而是只更新定义的部分
【问题讨论】:
-
调试控制台有错误吗?
-
不,没有错误。操作链接的行为不像我希望的那样,它仍然会回发并完全刷新页面。但我认为这是因为它不充当 Ajax actionLink,因为它不涉及 AjaxOptions
-
完全刷新通常表示
jquery.unobstrusive-ajax.js脚本没有正确加载。 -
此answer 用于
BeginForm,但也适用于ActionLink。