8

我有一个查看页面

我的查看页面

<div id="beReplaced">
    @Ajax.ActionLink("please click on me to bring the partial view",
                     "PatrialViewToBeCalled",
                     new AjaxOptions()
                        {UpdateTargetId = "beReplaced",
                        InsertionMode = InsertionMode.InsertAfter,
                        HttpMethod="Get",
                        LoadingElementId = "prgress" })
 </div>

我有一个控制器

public PartialViewResult PatrialViewToBeCalled()
{
    var customer = db.Customers.First();

    return PartialView("PartialViewThatMustBeShow",customer);
}   

但是当我点击生成的链接时,它会将我带到一个新页面,而不是替换或附加部分视图到 div 标签。

有什么问题?

4

5 回答 5

10

可能是您错过了:

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

在主视图中。这告诉主视图识别 ajax 助手。

于 2012-06-04T19:34:10.977 回答
1

我找到了解决方案。问题是由于 unobtrusive-ajax.min.js 文件损坏造成的。

于 2012-07-21T14:21:50.197 回答
0

如果您将 jQuery 加载到您的页面中,为什么不使用简单的 jquery get/load 方法来获取局部视图?

<div id="beReplaced">
  <a href="#" id="lnk1">please click on me to bring the partial view</a>
</div>

Javascript

$("#lnk1").click(function(){
$.get('/controller/PatrialViewToBeCalled', function(data) {
         $('#beReplaced').html(data);
      });
});
于 2012-01-08T13:54:03.763 回答
0

如果您正在使用 ASP .NET MVC 4,请确保

  @Scripts.Render("~/bundles/jquery")

也在body标签的末尾。

      @Scripts.Render("~/bundles/jquery")
        @RenderSection("scripts", required: false)
    </body>
</html> 
于 2013-04-22T20:23:33.323 回答
0

我一直在研究它太久,认为它没有工作。查看页面源也没有显示任何内容。

最终,当我在 Firebug 的控制台中看到成功的请求时,我发现它确实有效。它只是在屏幕外显示它。在 Firebug 的 HTML 选项卡中,我终于找到了输出,即使它没有显示在页面源代码中。

于 2013-07-25T11:55:12.127 回答