mvc4 Razor Ajax调用显示局部视图

时间:2014-05-16 13:54:01

标签: ajax asp.net-mvc asp.net-mvc-4 razor

尝试使用AJAX调用获取部分视图。以下ActionResult位于我的基本控制器中,由解决方案中的所有其他控制器继承:

    public ActionResult FileManager()
    {
        return View("_FileManagerPartial");
    }

以下代码是页面上的另一部分

@Ajax.ActionLink("File Manager", "FileManager", new AjaxOptions { UpdateTargetId = "dvFilemanagerContainer" });

dvFilemanagerContainer是布局视图中的div,部分视图“_FileManagerPartial.cshtml”位于共享视图文件夹中。

当我点击ajax调用的链接时,不是加载预期的局部视图,而是将页面的副本加载到div中。

有什么想法吗?

修改 PartialView的内容目前只是以下内容

<div id="dvFilemanagerWrapper">
File Manager
</div>

3 个答案:

答案 0 :(得分:2)

将您的控制器更改为

public PartialViewResult FileManager()
{
    return PartialView("_FileManagerPartial");
}

答案 1 :(得分:1)

在“视图”中添加此行,以便在部分视图中,不渲染主布局,仅渲染部分视图:

@{

Layout = null;

}

<div id="dvFilemanagerWrapper">
File Manager
</div>

答案 2 :(得分:0)

问题与我的RouteConfig如何处理呼叫有关。创建了一个新的MapRoute,将其指向正确的位置,现在正在运行。谢谢你的帮助。