【问题标题】:Render partial view (with controller action) from another view从另一个视图渲染部分视图(带有控制器操作)
【发布时间】:2013-08-14 14:02:54
【问题描述】:

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

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

如何从控制器渲染局部视图,以便像普通视图一样渲染它?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      创建一个返回PartialViewResult的控制器操作

      public ActionResult MyAction()
      {
          // do some stuff
          return PartialView("_MyPartialView", myModel);
      }
      

      然后使用@Html.Action("MyAction")在您的页面中呈现它

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-12
        • 1970-01-01
        • 1970-01-01
        • 2010-12-18
        • 1970-01-01
        • 2015-08-01
        • 1970-01-01
        相关资源
        最近更新 更多