Как создать общие представления в MVC

В папке 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>
<% } %>

Как создать общее представление и использовать его во всех этих представлениях?


person newcoder    schedule 20.01.2011    source источник


Ответы (2)


Похоже, есть две вещи, которые вы можете сделать:

  1. Перетащите код повторяющегося представления в частичное представление.
  2. Поместите частичное представление в папку общего представления.

Затем вы можете визуализировать этот частичный вид в других ваших представлениях.

Надеюсь это поможет.

Боб

person rcravens    schedule 20.01.2011

Вы можете установить параметр для метода Index вашего представления (вам нужно будет объединить эти контроллеры только в один)

и по этому параметру делаете переключение. Затем каждый случай будет запрашивать только нужный тип

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