Отправить конкретное значение из списка - PullRequest
0 голосов
/ 04 июля 2018

У меня есть модель, которая вводит информацию о пользователе. Я хочу отправить эту информацию в форме, но у меня возникают проблемы с отправкой информации, поскольку независимо от того, сколько элементов в списке. Будет отправлен только первый.

@using (Html.BeginForm("Action", "Controller", FormMethod.Post))
{
   <table>
   foreach(var item in Model)
   {
     <tr>
           <td>@Model.UserName</td>
           <td>@Html.TextBoxFor(a => Model.LoginName})</td>
           <td>@Html.TextBoxFor(a => Model.EmployeeNumber})</td>
           <input type="submit" value="Submit">
     </tr>
   }
   </table>
}

Все остальное работает, я проверяю контроллер и вижу, что первые параметры передаются при отправке. Список заполняется из базы данных. Я рассмотрел использование SingleOrDefault (), но я не думаю, что это будет работать в этом случае.

1 Ответ

0 голосов
/ 04 июля 2018

Чтобы отправить только первые значения итерации, вы можете использовать цикл for, чтобы поместить только первую модель индекса в форму, иначе нет.

if(Model!=null){
for (int i = 0; i < Model.Count; i++)
{
   //Form for 1st model only
   if(i==0){
       @using (Html.BeginForm("Action", "Controller", FormMethod.Post))
       {
       <table> 
       <tr>
       <td>@Model[i].UserName</td>
       <td>@Html.TextBoxFor(a => Model[i].LoginName})</td>
       <td>@Html.TextBoxFor(a => Model[i].EmployeeNumber})</td>
       <input type="submit" value="Submit">
      </tr>
       </table>
       }
    }

    else{
        <table> 
          <tr>
       <td>@Model[i].UserName</td>
       <td>@Html.TextBoxFor(a => Model[i].LoginName})</td>
       <td>@Html.TextBoxFor(a => Model[i].EmployeeNumber})</td>
       <input type="submit" value="Submit">
     </tr>
       </table>
      }
  }

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