asp.net-mvc - 从另一个 View 渲染部分 View (使用 Controller 操作)

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

我有一个包含 TreeView 的布局。 TreeView 由 AddressBookController 填充,并使用 @RenderPage("addressbook.cshtml") 渲染到每个页面(当前处于 Shared 状态) 。问题在于我的 View 和 Controller 之间存在紧密耦合,如在我的 AddressBook.cshtml 顶部我有以下代码:

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

如何从 Controller 渲染部分 View ,以便可以像普通 View 一样渲染它?

最佳答案

您可以使用子操作和 Html.Action 帮助器。 Phil Haack 在这里写了一篇关于 child 行为的精彩博客文章:http://haacked.com/archive/2009/11/17/aspnetmvc2-render-action.aspx

关于asp.net-mvc - 从另一个 View 渲染部分 View (使用 Controller 操作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18233914/

相关文章:

c# - 自定义 map 路线

javascript - 像 '&' 和 '£' 这样的特殊字符会剪切我传递的 Twitter 文本

ruby-on-rails-3 - Rails 部分有时需要太多时间来渲染

ruby-on-rails-3 - 部分本地只能使用 local_assigns 访问,不按名称公开

c# - MVC PartialView 不刷新数据

asp.net-mvc - REST API 嵌套资源应该由哪个 Controller 处理?

asp.net-mvc - Cookie 未保留在 MVC 中

c# - 在类名中添加模型值?

javascript - ASP.Net MVC jQuery UI DatePicker 日期格式

asp.net-mvc - 使用 (Html.ValidationMessage) 对 mvc 中的下拉列表进行简单验证