【问题标题】:Render a View inside a View in Asp.Net mvc在 Asp.Net mvc 中的视图内渲染视图
【发布时间】:2016-09-01 10:19:39
【问题描述】:

如何在另一个视图中呈现完整视图(不是部分视图)?

场景,我有不同的控制器,并希望呈现完全相同的视图,该视图已经存在于具有不同布局的其他控制器下。

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

我该怎么做??

【问题讨论】:

标签: c# asp.net asp.net-mvc asp.net-mvc-4


【解决方案1】:

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

@RenderPage("~/Views/Shared/SampleView.cshtml")

【讨论】:

  • 做得好 Denys,这正是 Qadeer 正在寻找的东西,我已经在应用程序中对此进行了测试,并且它可以工作。没有用模型测试这个,但我相信它会起作用。干得好……
  • 没错,我想要这个
  • 至少在 2.0 中这不适用于 asp.net 核心。请改用@Html.Partial。
【解决方案2】:

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

[ChildActionOnly]
public ActionResult ActionPartialView(string p1)

{
    //code...

    return PartialView(); 
}

上面的代码可以在任何控制器中,它自己的控制器中,用那个控制器在razor中调用它。

剃须刀:

@{ Html.RenderAction("Index", "Home"); }

希望有帮助

【讨论】:

  • 号召性用语索引中的参数呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-06
相关资源
最近更新 更多