Mvc отключает проверку некоторых элементов управления
Я работаю над проектом, который находится на MVC, у меня есть две кнопки для одной формы,при нажатии на первую кнопку я выполняю какое-то действие и показываю сетку, текстовое поле и другую кнопку.
Это моя точка зрения
<pre lang="HTML">@using (Html.BeginForm("Index","Home",FormMethod.Post)) { @Html.LabelFor(model => model.Name) @Html.TextBoxFor(model => model.Name , new { @class = "form-control" , @id = "txtbillingamount" }) @Html.LabelFor(model => model.Amount) @Html.TextBoxFor(model => model.Amount , new { @class = "form-control" , @id = "txtbillingamount" }) <button type="submit" name="command" value="request" >Next</button> @if (Model != null) { <table class="table table-hover table-bordered table-striped"> <thead class="hbl-thead"> <tr> <th> Title</th> <th> Number</th> <th>Amount</th> </tr> </thead> <tbody> <tr> <td>@Html.DisplayFor(model => model.ToAccountTitle)@Html.HiddenFor(model => model.ToAccountTitle) </td> <td>@Html.DisplayFor(model => model.RecieverMobileNumber)@Html.HiddenFor(model => model.RecieverMobileNumber)</td> <td>@Html.DisplayFor(model => model.Amount)@Html.HiddenFor(model => model.Amount)</td> </tr> </tbody> </table> <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12"> <div class="form-group input-group-sm"> @Html.LabelFor(model => model.PIN) @Html.PasswordFor(model => model.PIN , new { @class = "form-control" }) </div> <button type="submit" name="command" value="payment">Submit</button> </div> } }
А это мой контроллер
public ActionResult Index(MyModel model , string command){ if (ModelState.IsValid) { if (command == "request") { //Return data in model to fill Table } else if (command == "payment") { } } return View(model); }
Проблема я столкнулся-это,если ModelState.IsValid терпит неудачу, возвращая представление с данными, заполненными в таблице, поэтому он показывает текстовое поле Pin-кода и проверяет его при следующем нажатии кнопки.
Что я уже пробовал:
Я должен использовать POST-снова на кнопку "Далее" вместо AJAX-вызов