为了将少数asp.net webforms转换为MVC剃刀视图,我已将所有服务器端控件转换为等效的HTML标记。
我有点迟到意识到我应该使用MVC HTML帮助程序,这里的问题是我无法将HTML标记值绑定到强类型视图请求。
MVC-3中是否有任何方法可以使用HTML标记映射模型属性,而不使用HTML帮助程序?
Consider following Model class:
class Person
{
public string FirstName{get; set;}
}
View
@model MyApplication.Models.Person
<input type="text" id="txtFirstName" **???**/>
代替???
我希望这里有一些属性将输入绑定到Model的FirstName
属性。
可行吗?
答案 0 :(得分:2)
DefaultModelBinder正在使用name
属性将HTTP请求中的值绑定到模型。如果此约定不适合您的需要,您可以编写自己的ModelBinder。
所以在你的情况下,以下代码应该可以工作(但我建议使用HTML帮助程序,因为使用HTML帮助程序,你可以使用自动不显眼的验证)
<强>控制器:强>
public ActionResult Create(Person person) {
...
}
查看:强>
@model MyApplication.Models.Person
<input type="text" id="txtFirstName" name="FirstName" />