如何将不同的视图html元素绑定到模型属性?

时间:2011-11-22 23:45:27

标签: html asp.net-mvc-3 model-view-controller

我的模型中有描述......

[Required]
[StringLength(1000, ErrorMessage="Description cant be more than 1000.")]
[DataType(DataType.Text)]
private string description;
public string Description
{
    get { return description; }
    set { description = value; }
}

在我看来,我有......

@Html.TextAreaFor(e => e.Description, new { cols = "60", rows = "12", @class = "focusChanger" })

但实际上我需要将textarea称为'myDivId',但如果我更改html属性中的Id,它将不会绑定到模型。我该怎么办?

2 个答案:

答案 0 :(得分:2)

  

如果我更改html属性中的Id,它将不会绑定到模型

id属性与绑定无关。它的值永远不会发送到服务器。随意改变它。它是生成的name的{​​{1}}属性,用于在提交表单时将值发送到服务器。

答案 1 :(得分:0)

有两种方法可以做到这一点。第一种是创建自定义模型绑定器。有关详细信息,请参阅here

而不是这样,我建议一种更简单的方法来创建一个viewmodel。 Bind formValue to property of different name, ASP.NET MVC中最高投票的答案会让您了解如何做到这一点。