使用Ajax.ActionLink()在与主视图相同的页面上呈现局部视图时出现问题

时间:2013-07-23 13:59:10

标签: ajax asp.net-mvc asp.net-mvc-4 view asp.net-mvc-partialview

在我的索引视图中,我显示了几个Ajax.ActionLinks,如下面的代码所示。我正在尝试在单击其中一个链接时将部分视图呈现到DIV部分。现在,它将部分渲染为自己的页面。我做错了什么?

查看

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
...Other HTML
<article class="border c-two" style="background-image: url('/Content/images/Fancy.jpg')">
    <div style="opacity: 0;" class="fdw-background">
        <h4 style="color:#fff;">Fancy Schmancy</h4>
        <p class="fdw-port">
            @Ajax.ActionLink("Go Now", "GotoStore", "Simulation", new { id = 1 }, new AjaxOptions { UpdateTargetId = "Rest", InsertionMode = InsertionMode.InsertAfter, HttpMethod = "GET" })<span class="vg-icon">→</span>
        </p>
    </div>
</article>
...other  HTML
<div id="Rest"></div>

控制器

public PartialViewResult GotoStore(int id)
{
    Store store = db.Stores.Find(id);
    return PartialView(store);
}

1 个答案:

答案 0 :(得分:0)

我能够让它运转起来。问题出在我在脚本源中添加的地方。

此:

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

需要将布局文件放在底部,如下所示:

    @Scripts.Render("~/bundles/jquery")
    <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
    @RenderSection("scripts", required: false)