如何在 MVC 中创建共享视图

Posted

技术标签:

【中文标题】如何在 MVC 中创建共享视图【英文标题】:How to create shared views in MVC 【发布时间】:2011-01-20 04:03:24 【问题描述】:

在我的 Views 文件夹中,我有几个文件夹,例如 Category、Origin、Price...。它们都有一个 Browse.aspx 文件,并且该文件中的代码显示了一个产品表。与这些文件夹关联的所有控制器都使用相同的 ViewModel,但在每个视图中我都有重复的代码。代码是:

文件夹类别,文件browse.aspx 文件夹来源,文件browse.aspx .....

<% foreach ( var p in Model.Products)  %>
    <li> <%: p.productname + " " + p.price + " " + p.origin.originname + " " + p.category.categoryname %> </li>
<%  %>

如何创建共享视图并在所有这些视图中使用共享视图?

【问题讨论】:

【参考方案1】:

听起来你可以做两件事:

    将重复的视图代码拉到局部视图中。 将局部视图放在“共享”视图文件夹中。

然后你可以在你的其他视图中渲染这个局部视图。

希望这会有所帮助。

鲍勃

【讨论】:

【参考方案2】:

您可以为视图的 Index 方法设置一个参数(您必须将此控制器合并为一个)

并根据此参数进行切换。然后,每个案例将只请求所需的类型

public ActionResult Index(String a)
    switch (a)
       
           case "1":  //set your model the way you want it ...
       

【讨论】:

以上是关于如何在 MVC 中创建共享视图的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SwiftUI 中创建共享导航栏以在多个视图之间进行交互? [关闭]

如何在 ASP.NET CORE Razor Pages 中创建共享表单?

在 ASP.NET MVC 3 中创建基于平台显示不同视图的自定义 ViewResult

如何在现有数据库中创建 ASP.Net Identity 表?

如何在 Eclipse 中创建 Spring MVC 项目?

我如何在 Spring Boot/MVC 中创建错误处理程序(404、500...)