#html #asp.net-core-mvc
Вопрос:
Я пытаюсь создать форму для записи количества билетов, которые пользователь хотел бы получить за товар.
Однако добавляется только первое item_id
, если я ввожу значения в пункт 2 или 3, то в таблицу ничего не вводится.
Ниже приведен мой взгляд, который я использую для передачи данных моему контроллеру.
Любые предложения приветствуются.
@model IEnumerable<HR.HolidayFamiliesApplication.Web.Models.RaffleList> @{ ViewData["Title"] = "RaffleList"; } @using (Html.BeginForm("InsertRecords", "Home", FormMethod.Post)) { <table class="table"> <tr> <th> @Html.DisplayNameFor(model => model.Raffle_ID) </th> <th> @Html.DisplayNameFor(model => model.Raffle_Item_Name) </th> <th> @Html.DisplayNameFor(model => model.Raffle_Item_Description) </th> <th></th> </tr> @foreach (var item in Model) { <tr> <td> @Html.DisplayFor(modelItem => item.Raffle_ID) <input type="hidden" name="Raffle_ID" value=@Html.DisplayFor(model => @item.Raffle_ID) /> </td> <td> @Html.DisplayFor(modelItem => item.Raffle_Item_Name) <input type="hidden" name="Raffle_Item_Name" value=@Html.DisplayFor(model => @item.Raffle_Item_Name) /> </td> <td> @Html.DisplayFor(modelItem => item.Raffle_Item_Description) <input type="hidden" name="Raffle_Item_Description" value=@Html.DisplayFor(model => @item.Raffle_Item_Description) /> </td> <td> <label for="Number_of_Tickets">Number_of_Tickets</label> <input type="number" class="form-control" name="Number_of_Tickets" placeholder="Enter # Tickets" /> </td> <td> <input type="hidden" name="User_Name" value=@User.Identity.Name /> </td> <td> <input class="btn btn-success" type="submit" value="Submit" id="InsertRecords" /> </td> </tr> } </table> }
Ответ №1:
попробуйте заменить цикл foreach на цикл for
@model List<HR.HolidayFamiliesApplication.Web.Models.RaffleList> .... @for (var i=0; i < Model.Count; i ) { <tr> <td> @Html.DisplayFor(model=> model[i].Raffle_ID) <input type="hidden" name="Raffle_ID" value=@Html.DisplayFor(model=> model[i].Raffle_ID) /> </td> <td> @Html.DisplayFor(model=> model[i].Raffle_Item_Name) <input type="hidden" name="Raffle_Item_Name" value=@Html.DisplayFor(model=> model[i].Raffle_Item_Name) /> </td> <td> @Html.DisplayFor(model=> model[i].Raffle_Item_Description) <input type="hidden" name="Raffle_Item_Description" value=@Html.DisplayFor(model=> model[i].Raffle_Item_Description) /> </td> <td> <label for="Number_of_Tickets">Number_of_Tickets</label> <input type="number" class="form-control" asp-for="@model[i].Number_of_Tickets" placeholder="Enter # Tickets" /> </td> ..... and so on }