如何在MVC中创建共享视图

时间:2011-01-20 04:03:24

标签: asp.net-mvc view shared

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

文件夹类别,文件browse.aspx Folder Origin,文件browse.aspx .....

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

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

2 个答案:

答案 0 :(得分:7)

听起来你可以做两件事:

  1. 将重复的视图代码拉入局部视图。
  2. 将部分视图放在“共享”视图文件夹中。
  3. 然后,您可以在其他视图中渲染此局部视图。

    希望这有帮助。

    鲍勃

答案 1 :(得分:0)

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

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

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