0

我在我的应用程序的各个地方都使用了 Ajax.Beginform 和 unobtrusive-ajax.js。在我使用 JQuery 1.7 库之前,这一切都很好。但是,在将它们升级到 JQuery 1.9.0 后,这停止了工作,我还升级了 unobtrusive-ajax 的版本(以便用 .on() 方法替换 .live ),但它仍然不起作用。

最近,我看到一些帖子暗示 Ajax.Beginform 和 unobtrusive-ajax 不是正确的方法。在这种情况下,进行部分刷新的最佳方法是什么。说,我的视图有“搜索”按钮,当用户单击“搜索”时,它应该只刷新页面的特定部分。我们如何在不使用 Ajax Form 和 unobtrusive-ajax.js 的情况下实现它?

4

1 回答 1

1

我同时使用 Ajax.BeginForm 和 jQuery 1.9,它们运行良好。

你有没有设置你的UpdateTargetId属性AjaxOptions?这就是我所拥有的(我可以使用模型,但我正在简化示例):

@using(Ajax.BeginForm("Index", "Search",
  new AjaxOptions(){ UpdateTargetId = "result"})
{
    <input type="text" name="q" />
    <button type="submit">Send</button>
}

<div id="result"></div>

但请注意,如果您设置htmlAttributeslike @classor name,请确保将routeValues参数设置为null

@using(Ajax.BeginForm("Index", "Search", null,
    new AjaxOptions(){ UpdateTargetId = "result"},
    new { @class = "myFormClass", name = "myForm" } )
于 2013-06-09T02:34:33.780 回答