0

为了将几个 asp.net 网络表单转换为 MVC razor 视图,我已将所有服务器端控件转换为等效的 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" **???**/>

代替???我期望这里的某些属性将输入绑定到FirstName模型的属性。

可行吗?

4

1 回答 1

2

DefaultModelBinder使用该属性name将 HTTP 请求中的值绑定到您的模型。如果此约定不适合您的需要,您可以编写自己的 ModelBinder。

所以在你的情况下,下面的代码应该可以工作(但我还是建议使用 HTML 助手,因为使用 HTML 助手,你可以使用自动不显眼的验证)

控制器:

public ActionResult Create(Person person) {
  ...
}

看法:

@model MyApplication.Models.Person

<input type="text" id="txtFirstName" name="FirstName" />
于 2012-12-12T09:52:15.033 回答