我可以在不使用Html.EditorFor
等的情况下将数据传递给控制器吗?
只需使用简单的HTML输入,例如:
查看:
@using (Html.BeginForm("Add", "Parameter", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<fieldset>
<input type="text" name="product.Name" id="product.Name"/>
<input type="text" name="product.Description" id="product.Description"/>
<input type="submit">
</fieldset>
}
控制器:
[HttpPost]
public ActionResult Add(Product product)
{
return null;
}
答案 0 :(得分:1)
是的,您可以,但您需要调整ViewModel属性名称的输入名称:
<input type="text" name="product.Name" id="product.Name"/>
<input type="text" name="product.Description" id="product.Description"/>
应该是:
<input type="text" name="Name" id="name"/>
<input type="text" name="Description" id="description"/>
您不应将ViewModel类型添加为输入名称的前缀。