Итак, у меня есть модель для всех моих рецептов, и я хочу создать представление, которое отображает список всех рецептов с логическим, если текущий пользователь может редактировать рецепт , Для этого я сделал модель презентации. Однако, когда я нажимаю «Добавить вид» в контроллере и генерирую новое представление с этой моделью представления, представление показывает только логические поля «рецепт». Что делать, чтобы создать представление с помощью bool и всех полей «recipe».Создать вид бритвы с несколькими моделями в классе модели
модель 'Рецепт':
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace ReceptenApp.Models
{
public class Recept
{
public int Id { get; set; }
public int Category { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Cook { get; set; }
}
}
Презентация Модель:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace ReceptenApp.Models.PresentationModels
{
public class PMReceptListItem
{
public PMReceptListItem()
{
recept = new ReceptWithCats();
}
public ReceptWithCats recept { get; set; }
public bool ShowEdit { get; set; }
}
}
Вид после ее получения:
@model IEnumerable<ReceptenApp.Models.PresentationModels.PMReceptListItem>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.ShowEdit)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.ShowEdit)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
</td>
</tr>
}
</table>