2012-02-07 65 views
0

我已经定义了以下数据的注释为我的模型对象: -数据类型对战所需的数据标注,当模板化助手和非模板化助手

[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 !!!")]正在工作。所以我认为如果我使用Non-Templated helper(TextAreaFor),Required和DataType都不起作用,那么为什么[Required]在这种情况下工作,而DataType没有? BR

回答

0

MultileneText属性因为使用TextBoxFor帮手而不会工作。如果您使用EditorFor帮助程序,则该帮助程序会将属性呈现为textarea html输入。但是你不会给任何改变,通过使用TextBoxFor帮助器呈现为<input type='text'/>来呈现textarea给那个帮手。

所以多行属性不能分配给输入了。