在Asp.Net mvc中的视图内渲染视图

tri*_*ati 19 c# asp.net asp.net-mvc asp.net-mvc-4

如何在另一个视图中渲染完整的视图(非局部视图)?

场景,我有不同的控制器,并希望完全相同的视图渲染已经存在于其他控制器下的不同布局.

我在Home Controller中有Wishlist页面,其中显示了已添加产品的列表,当用户登录时,当我点击愿望清单时,它还会在用户登录时显示导航.

我该怎么做?

Den*_*els 35

没有多少开发人员知道这个,但你可以使用RenderPage,它专门为此目的而设计(在另一个视图中呈现MVC视图)

@RenderPage("~/Views/Shared/SampleView.cshtml")
Run Code Online (Sandbox Code Playgroud)

  • Well Done Denys,这是Qadeer正在寻找的,我已经在应用程序中对此进行了测试并且它有效.没有用模型测试这个,但我相信它会起作用.做得好... (2认同)

Sar*_*ouw 12

您仍然可以使用自己的控制器创建或使用局部视图并使用RenderAction()

[ChildActionOnly]
public ActionResult ActionPartialView(string p1)

{
    //code...

    return PartialView(); 
}
Run Code Online (Sandbox Code Playgroud)

上面的代码可以在任何控制器中,它自己的控制器,只需使用该控制器在剃刀中调用它.

剃刀:

@{ Html.RenderAction("Index", "Home"); }
Run Code Online (Sandbox Code Playgroud)

希望有所帮助