У меня создалось впечатление что с помощью аннотации как это:
<Required()>
<DisplayName("Choose a Password:")>
<ValidatePasswordLength()>
<DataType(DataType.Password)>
Public Property Password As String
Создал бы поле маскированное при использовании в представлении:
<%: Html.TextBoxFor(Function(model) model.Password) %>
<%: Html.ValidationMessageFor(Function(model) model.Password) %>
Однако это представляется без типа = "пароль"
Каков "DataType. Пароль" использовал для если не это?
Вы используете Html.TextBoxFor
, который всегда выводит тег в результирующем HTML.
Если вы хотите, чтобы аннотация DataType.Password автоматически присваивалась, вместо нее следует использовать
Html.EditorFor
.
Подробнее о шаблонах редакторов и их настройке вы можете прочитать здесь: http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-1-introduction.html
TextBoxFor
переопределяет вашу аннотацию, потому что она указывает на ввод открытого текста. Как упоминал Марсинд, EditorFor
учитывает аннотацию, или вы можете использовать PasswordFor
для этого поля.