【问题标题】:return PartialView with Ajax not inserting on page使用 Ajax 返回 PartialView 未在页面上插入
【发布时间】:2012-06-07 18:22:20
【问题描述】:

我只是想围绕 Razor 中的 Ajax 助手——可能忽略了一些简单的事情。

以下代码将我当前的标签指向 /Music/SearchBand 而不是将部分返回到我的 div。

我的视图中有这个:

@Ajax.ActionLink("click me","SearchBand",
new AjaxOptions {
    UpdateTargetId = "replaceThisDiv"   
})

<div id="replaceThisDiv"></div>

这在我的控制器中:

public ActionResult SearchBand()
    {
        return PartialView("_bandResults");
    }

【问题讨论】:

  • 您的视图中是否包含~/Scripts/jquery.unobtrusive-ajax.min.js?因为此文件包含@Ajax. ... 助手所需的脚本。
  • 就是这样!谢谢你。我正在阅读的教科书没有提到或在标题中显示它=(

标签: c# .net asp.net-mvc-3 .net-4.0 asp.net-ajax


【解决方案1】:

@Ajax. ... 助手会在生成的 HTML 中添加一些额外的 data- 属性,这些属性本身不会执行任何 ajax 请求(这就是链接“只是”导航到不同页面的原因)。

为了使其正常工作,它需要一些客户端 javascript 函数,这些函数将使用预生成的 data- 属性触发实际的 ajax 请求。

这些js函数在Sripts/jquery.unobtrusive-ajax.min.js文件中:

因此,您需要在计划使用任何 @Ajax. ... 帮助程序的每个页面上包含此 JS 文件:

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" 
        type="text/javascript"></script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    相关资源
    最近更新 更多