Как создать общие представления в MVC - PullRequest
1 голос
/ 20 января 2011

В моей папке Views у меня есть несколько папок, таких как Category, Origin, Price, .... Все они имеют файл Browse.aspx, а код в этом файле отображает таблицу продуктов. Все контроллеры, связанные с этими папками, используют один и тот же ViewModel, но в каждом представлении у меня есть повторяющийся код. Код:

Категория папки, файл browse.aspx Папка Origin, файл browse.aspx .....

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

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

Ответы [ 2 ]

7 голосов
/ 20 января 2011

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

  1. Извлечь код повторного представления в частичное представление.
  2. Поместить частичное представление в папку представлений «Shared».

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

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

Боб

0 голосов
/ 06 мая 2011

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

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

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