Показать свойство модели в представлении - PullRequest
0 голосов
/ 29 июня 2018

Мне было интересно, как я могу отобразить свой model.property в моем View без переменной модели типа IEnumerable, в представлении; а также, что я должен использовать в моем контроллере вместо SingleOrDefault, чтобы показать каждую строку определенного свойства?

Вот код:

Модель - Roles.cs

    [Key]
    public string Id { get; set; }
    public string Name { get; set; }
    public string NormalizedName { get; set; }
    public string ConcurrencyStamp { get; set; }
    public int FunctionId { get; set; }

    [ForeignKey("FunctionId")]
    public Functions Functions { get; set; }

Модель -Function.cs

[Key]
    public int FunctionId { get; set; }
    public string FunctionName { get; set; }
    public bool CanEdit { get; set; }
    public bool CanAdd { get; set; }
    public bool CanDel { get; set; }
    public bool CanView { get; set; }

Контроллер - RolesController.cs

public async Task<IActionResult> Edit(string id)
    {
        if (id == null)
        {
            return NotFound();
        }

        var aspNetRoles = await _context.AspNetRoles.SingleOrDefaultAsync(m => m.Id == id);
        if (aspNetRoles == null)
        {
            return NotFound();
        }
        ViewData["FunctionId"] = new SelectList(_context.Functions, "FunctionId", "FunctionId", aspNetRoles.FunctionId);
        return View(aspNetRoles);
    }

А потом то, что я пытаюсь получить для своего Вида Роль / Edit.cshtml

<div class="flex-row col-8">
        @foreach(var item in Model //what to do?)
             {
                @Html.DisplayFor(m => m.Functions.FunctionName) 
                <input type="checkbox" asp-for="Functions.CanAdd"  />  
                <input type="checkbox" asp-for="Functions.CanEdit" /> 
                <input type="checkbox" asp-for="Functions.CanDel"  />  
                <input type="checkbox" asp-for="Functions.CanView" />    
             }

Спасибо!

...