我有一个包含树视图的布局。树视图由AddressBookController
填充,并使用@RenderPage("addressbook.cshtml")
呈现在每个页面中(目前位于Shared
)。这个问题是我在View和IDE之间的紧密耦合,就像我的AddressBook.cshtml顶部一样,我有以下代码:
@{
var controller = new EstateManagerUI.Controllers.AddressBookController();
var topLevelFolder = controller.GetAddressBook(0);
}
如何从控制器渲染局部视图,以便将其渲染为普通视图?
答案 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")