从没有Html帮助器的表单传递数据

时间:2012-11-18 18:25:53

标签: asp.net asp.net-mvc html-helper modelbinders

我可以在不使用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;
}

1 个答案:

答案 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类型添加为输入名称的前缀。