У меня есть свойство модели, связанное с текстовым полем для HTML-формы. Однако всякий раз, когда форма отправляется, свойство всегда имеет значение null, когда оно попадает в контроллер.
Я использовал ту же технику бесчисленное множество раз, но она просто не хочет играть в этом случае.
Это вызов от контроллера:
public ActionResult ScanTubsetLabelToClose()
{
CloseTubsetVM viewModel = new CloseTubsetVM();
return View(viewModel);
}
Это viewmodel:
public class CloseTubsetVM
{
public string ToClose { get; set; }
}
Вид:
@using PR3Transfer.Models.ViewModels;
@model CloseTubsetVM
@using (Html.BeginForm("TubSetLabelToCloseScanned", "CloseTubset", new { closingBarcode = Model.ToClose, symbology = "KEY", }))
{
@Html.TextBoxFor(model => model.ToClose, new { @class = "scanTextbox", onkeypress = "posKeyPress(event)" })
<div>
<input class='hiddenButton' type="submit" value="Submit" />
</div>
}
И это метод целевого контроллера:
public ActionResult TubSetLabelToCloseScanned(string closingBarcode, string symbology)
{
// ...
}
Мое единственное предположение, что я ухожу с чем-то, когда я делаю то же самое в другом месте, которое здесь не работает, но что?
Из моего предыдущего комментария:
Имя свойства должно соответствовать имени параметра.
Итак, это скорректированный метод целевого контроллера:
public ActionResult TubSetLabelToCloseScanned(string barcode, string symbology)
{
//...
}
И это скорректированный взгляд:
@using PR3Transfer.Models.ViewModels;
@model CloseTubsetVM
@using (Html.BeginForm("TubSetLabelToCloseScanned", "CloseTubset", new { barcode = Model.Barcode, symbology = "KEY", }))
{
@Html.TextBoxFor(model => model.Barcode, new { @class = "scanTextbox", onkeypress = "posKeyPress(event)" })
<div>
<input class='hiddenButton' type="submit" value="Submit" />
</div>
}
Попробуй это
public ActionResult TubSetLabelToCloseScanned(string ToClose, string symbology)
{
// ...
}
Примите значение ToClose как параметр, и вы получите значение для свойства модели
public ActionResult TubSetLabelToCloseScanned(string closingBarcode, string symbology, string ToClose)
{
// ...
}
CloseTubsetVM
качестве параметра для действия POST?