У меня есть модель, которая содержит список пользовательского типа.
Я хочу, чтобы данные этого типа передавались обратно, когда модель представляется как HttpPost
вызов контроллера.
Однако, похоже, он не делает то, что я хочу. Я дошел до того места, где следую, Передав IEnumerable или список Model в контроллер с помощью HttpPost , но у меня возникла проблема.
Мой метод управления:
[HttpPost]
public ActionResult UpdateStock(int id, ProductModel model)
{
return View("UpdateStock", model);
}
Теперь представление выглядит так (обрезано):
@using (Html.BeginForm())
{
<div>
<p>
<input type="submit" value="Save" />
</p>
@Html.HiddenFor(m => m.ProductNo)
<div class = "title">
@Html.LabelFor(m => m.ProductName)
@Html.EditorFor(m => m.ProductName)
</div>
@for ( int i = 0; i < Model.Stock.Count; i++ )
{
var item = Model.Stock[i];
<div class="editor-field">
<input type="text" name="Model.Stock[@i].Key"
value="@item.Key" />
</div>
<div class="editor-field">
<input type="text" name="Model.Stock[@i].Value"
value="@item.Value" />
</div>
}
}
Моя проблема в том, что теги @Html.EditorFor()
и <input type=.../>
, похоже, плохо взаимодействуют друг с другом. Если у меня так, как указано выше, то ProductNo
и другие свойства, использующие методы @Html
, не будут переданы модели.
Любой совет высоко ценится.