как передать значение текстового поля в @ html.hidden (), чтобы перейти к моему контроллеру MVC

0

как передать значение текстового поля в @html.hidden(), чтобы перейти к моему контроллеру MVC, которым является мой взгляд:

@using (Html.BeginForm("Reject", "Maker", FormMethod.Get))
{
 <div class="filed">
 <form class="RejectForm">
  <p> <input type="text" class="RejectTextBox" name="HidField" id="HidField" value="" placeholder="سبب الرفض"> 
  @Html.ValidationMessage("_strRejectReason", new { @style = "color:red" })</p>
  <br />

  <input id="RejectButton" type="submit" value="Reject"/>                                           
  </form>
  </div>

 @Html.HiddenFor(model => model._strRejectReason, new { id = "HidField"})
 @Html.Hidden("id", item.Id);
 <p>@Html.ValidationMessage("CustomError", new { @style = "color:red" })</p>
 }

Проблема заключается в том, что мой контроллер получает пустой объект модели, который представляет собой модель, содержащую два свойства int id, строку _strRejectReason, которую я отправляю с помощью @Html.Hidden(); но объект модели в контроллере как параметр пуст, мой контроллер:

public ActionResult Reject(MakerTransactions MakerTransactions)
    {
        MakerCheckerUnitOfWorkBase _MakerCheckerUnitOfWorkBase = new MakerCheckerUnitOfWorkBase();
        MakerTransactions.RouteAgentsConfigsMaker = _MakerCheckerUnitOfWorkBase.RouteAgentsConfigsChecker.RejectMaker(MakerTransactions.id,MakerTransactions._strRejectReason);

        return View(MakerTransactions);
    }
  • 1
    MVC использовать имя свойства, а не Id
  • 0
    Вы пытаетесь установить значение скрытого поля по содержимому текстового поля при отправке? Тогда вам не нужно отправлять всю форму, вы можете использовать событие нажатия кнопки (изменить тип отправки на кнопку), чтобы установить скрытое значение из содержимого текстового поля, в противном случае вы можете напрямую использовать запрос ["HidField"], чтобы получить значение текста коробку или возьми в модель.
Теги:
asp.net-mvc
asp.net-mvc-4

1 ответ

0
@using (Html.BeginForm("Reject", "Maker", FormMethod.Get))
{
 @Html.HiddenFor(model => model._strRejectReason)
 @Html.Hidden("id", item.Id);
 <p>@Html.ValidationMessage("CustomError", new { @style = "color:red" })</p>
 }

MVC использует имя из тегов. Затем, когда вы добавляете идентификатор тега с другим именем, сервер не распознает это свойство.

@Html.HiddenFor(model => model._strRejectReasonm, new {id = "sample" })

public ActionResult Reject(FormCollection collection)
    {
        var _strRejectReason = collection["_strRejectReason"];
        var id = collection["id"];
        return View();
    }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню