我有一个与强类型 ViewModel 相关联的视图,但我没有使用 MVC3 HTML 帮助程序,只是使用普通的 HTMLinput
标记。但是,这似乎没有将值正确传递给操作方法,因为 ViewModel 完全为空。
视图模型:
class QuoteSearch {
public long? CustomerId { get; set; }
public string CustomerFirstName { get; set; }
public string CustomerLastName { get; set; }
}
看法:
@model QuoteSearch
<form action="/quotes/search" method="POST">
<p>Customer ID: <input id="CustomerIdField" name="CustomerId" type="text" /></p>
<p>Customer First Name: <input id="CustomerFirstNameField" name="CustomerFirstName" type="text"/></p>
<p>Customer Last Name: <input id="CustomerLastNameField" name="CustomerLastName" type="text"/></p>
<p><button id="SearchButton" type="submit">Search</button></p>
</form>
控制器:
[HttpPost]
public ActionResult Search(QuoteSearch search) {
// checking if fields are set here.
}
我似乎记得有一种方法不必使用 Html 助手但仍使用强类型模型(而不是 a FormCollection
);我认为它涉及将 name 属性设置为模型上属性的确切名称,但我似乎弄错了。