Заявление Foreach в .Net Core View - PullRequest
0 голосов
/ 10 июля 2019

Я хочу пройтись по каждому элементу для просмотра в коде ниже и не уверен, как это сделать. Это то, что я имею до сих пор.

Я не пробовал ничего, кроме этого, и исследовал примеры, но ни один из них не соответствует этому конкретному примеру.

  <div class="row">
    <div class="col-md-4">
        <div class="form-group">
            <label asp-for="Packet.Meeting" class="control- 
        label">Date/Time Of Meeting:</label>
            <input asp-for="Packet.Meeting" type="date" asp-format=" 
       {0:MM/dd/yyyy}" class="form-control" />
        </div>
        @foreach (var item in Model.Item)
        {<div class="form-group">
                <label asp-for="Item.ItemTitle" class="control-label"> 
        </label>
                <input asp-for="Item.ItemTitle" class="form-control" />
            </div>}            
      </div>
      </div>

Вот как выглядит модель:

 public class PacketViewModel
  {

    public Packet Packet { get; set; }

    public Item Item { get; set; }

    public List<Item> items { get; set; }
   }
}

Я хочу показать все названия элементов из модели элемента

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

Пока вы ссылаетесь на модель в начале представления, все будет в порядке:

@model ProjectNameSpace.Models.PacketViewModel

Теперь, если вы используете цикл foreach, все входы будут одинаковымиname и id атрибуты в HTML:

@foreach (var item in Model.items)
{
    <label asp-for="@item.ItemTitle" class="control-label"> </label>
    <input asp-for="@item.ItemTitle" class="form-control" />
}

Итак, вместо этого нам придется использовать цикл for:

@for (var i = 0; i < Model.items.Count(); i++)
{
    <label asp-for="@Model.items[i].ItemTitle" class="control-label"> </label>
    <input asp-for="@Model.items[i].ItemTitle" class="form-control" />
}

Использование цикла for приведет кприсвойте входам уникальные атрибуты id и name в HTML.

0 голосов
/ 10 июля 2019

Передача модели из вашего контроллера

public ActionResult Home()
{
    //create your obj and assigned all the values

   PacketViewModel list = new PacketViewModel(); //Ienumerable ModelList class defined under Model will store the list of Model data.
   // assuming you have assigned all the values to your obj

   View(list);
}

Теперь на вашей странице просмотра мы явно упомянем модель

@model Project.Models.PacketViewModel 

Теперь вы можете перебирать свою модель:

 @{

        foreach (var item in Model.Items)
        {
           //do what you want to do here for example 
           <b> @item.ItemTitle </b>
        }

  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...