Визуализация частичного представления в Layout и объявление контроллера для него в asp. net core. - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть следующий сценарий

 @model CashUnited.Models.HomeViewModel   
 <html lang="en">
 <head>
   <title>@ViewData["Title"] - test</title>
 </head>
 <body>
   <partial name="_Header" model="@Html.DisplayNameFor(model=>model)"/>
 </body>
</html>

мой частичный вид Код

<select>
@{
   foreach (string item in Model.companiesLst)
   {
      <option value="@item">@item</option>
   }
}                 

Как и где я могу заполнить Model.companiesLst с контроллера? Я не могу понять это в asp. net Core

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

Проверьте этот ответ: { ссылка }. Кажется, это устраняет проблему, похожую на ту, что у вас есть.

0 голосов
/ 19 февраля 2020

Вы должны создать / получить экземпляры вашей модели, а затем передать ее в главное представление следующим образом:

public ActionResult GetItems() {
    var items = this.itemsService.GetItems();

    return this.View(items);
}

Где переменная с именем items - это ваша модель, которая содержит свойство companiesList .

Родительское представление:

@model CashUnited.Models.HomeViewModel   
 <html lang="en">
 <head>
   <title>@ViewData["Title"] - test</title>
 </head>
 <body>
   @await Html.PartialAsync("_Header", Model)
 </body>
</html>

Частичное представление:

@model CashUnited.Models.HomeViewModel

<select>
@{
   foreach (string item in Model.companiesLst)
   {
      <option value="@item">@item</option>
   }
} 
</select> 
...