在我将一些HTML转换成MVC razor视图的过程中,我已经将所有的服务器端控件都转换成了等价的asp.net标签。
我意识到我应该使用MVC HTML帮助程序有点晚了,这里的问题是我不能将HTML标记值绑定到强类型的视图请求。
在MVC-3中,有没有办法在不使用HTML助手的情况下将Model属性映射到HTML标记?
Consider following Model class:
class Person
{
public string FirstName{get; set;}
}
View
@model MyApplication.Models.Person
<input type="text" id="txtFirstName" **???**/>代替???,我希望这里的一些属性将输入绑定到模型的FirstName属性。
这可行吗?
发布于 2012-12-12 17:52:15
DefaultModelBinder使用name属性将HTTP请求中的值绑定到您的模型。如果这种约定不能满足您的需要,您可以编写自己的ModelBinder。
因此,在您的示例中,以下代码应该可以工作(但我建议使用HTML helper,因为使用HTML helper,您可以使用自动的非侵入性验证)。
控制器:
public ActionResult Create(Person person) {
...
}视图:
@model MyApplication.Models.Person
<input type="text" id="txtFirstName" name="FirstName" />https://stackoverflow.com/questions/13836257
复制相似问题