使用模板化助手和非模板化助手时,DataType与所需数据注释相对应

时间:2012-02-07 04:07:31

标签: asp.net-mvc-3 data-annotations

我为我的模型对象定义了以下数据注释: -

[DataType(DataType.MultilineText)]
[Required(ErrorMessage = "Book Name is required !!!")]
public string BookName { get; set; } 

我使用以下内容在视图中渲染模型: -

 @Html.EditorFor(model => model.BookName)

但是当我将上述内容更改为以下内容时: -

 @Html.TextBoxFor(model => model.BookName)

然后只有[Required(ErrorMessage = "Book Name is required !!!")]正在运作。所以我认为如果我使用非模板化助手(TextAreaFor),则必需和DataType都不起作用,那么为什么[必需]在这种情况下工作,而DataType没有? BR

1 个答案:

答案 0 :(得分:0)

由于使用TextBoxFor助手,MultileneText属性无法正常工作。如果您使用EditorFor帮助器,该帮助器将属性呈现为textarea html输入。但是,您不要使用TextBoxFor帮助器将textarea渲染给该帮助程序,并将其呈现为<input type='text'/>

因此多行属性无法再分配给输入。