как передать значение текстового поля в @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);
}
@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();
}