从另一个视图渲染部分视图(带控制器操作)

时间:2013-08-14 14:02:55

标签: asp.net-mvc razor renderpartial asp.net-mvc-controller

我有一个包含树视图的布局。树视图由AddressBookController填充,并使用@RenderPage("addressbook.cshtml")呈现在每个页面中(目前位于Shared)。这个问题是我在View和IDE之间的紧密耦合,就像我的AddressBook.cshtml顶部一样,我有以下代码:

@{    
    var controller = new EstateManagerUI.Controllers.AddressBookController();
    var topLevelFolder = controller.GetAddressBook(0);
}

如何从控制器渲染局部视图,以便将其渲染为普通视图?

2 个答案:

答案 0 :(得分:1)

您可以使用子操作和Html.Action帮助程序。 Phil Haack写了一篇关于儿童行为的好文章:http://haacked.com/archive/2009/11/17/aspnetmvc2-render-action.aspx

答案 1 :(得分:0)

创建一个返回PartialViewResult

的控制器操作
public ActionResult MyAction()
{
    // do some stuff
    return PartialView("_MyPartialView", myModel);
}

然后使用@Html.Action("MyAction")

在您的页面中呈现此内容