У меня есть форма регистрации, которая заполняется с использованием ViewModel и Html.EditorForModel (). Среди других полей в модели есть поля Password и ConfirmPassword. Оба помечены атрибутом DataType (DataType.Password). Локально он отображается правильно, но на моем сервере поле Пароль отображается как текстовое поле, а ConfirmPassword отображается как поле пароля. Есть мысли, почему? Я проверил, и на сервере нет дополнительных шаблонов, которые могут привести к тому, что он будет отображаться по-другому.
Модель:
public class RegisterModel : ValidatableModel
{
[Required]
[DisplayName("First Name")]
public string FirstName { get; set; }
[Required]
[DisplayName("Last Name")]
public string LastName { get; set; }
[Required]
[EmailAddress(ErrorMessage = "The email address is not formatted correctly")]
[DisplayName("Email address")]
public string Email { get; set; }
[Required]
public string Title { get; set; }
[Required]
public string Organization { get; set; }
[Required]
[DisplayName("Address 1")]
public string Address1 { get; set; }
[DisplayName("Address 2")]
public string Address2 { get; set; }
[Required]
public string City { get; set; }
[Required]
[UIHint("States")]
public string State { get; set; }
[Required]
[ZipCode]
public string Zip { get; set; }
[Required]
[DisplayName("Phone Number")]
[PhoneNumber(ErrorMessage = "The phone number is not formatted correctly")]
public string Phone { get; set; }
[Required]
[DisplayName("Area Account")]
[UIHint("AreaAccountId")]
public int AreaAccountId { get; set; }
[Required]
[ValidatePasswordLength]
[DataType(DataType.Password)]
[DisplayName("Password")]
public string Password { get; set; }
[DataType(DataType.Password)]
[DisplayName("Confirm password")]
public string ConfirmPassword { get; set; }
[Required]
[DisplayName("Password Hint")]
public string PasswordHint { get; set; }
public override IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (Password != ConfirmPassword)
yield return new ValidationResult("The password and confirmation password do not match.", new string[] { "Password", "ConfirmPassword" });
}
}
Markup:
<% using (Html.BeginForm()) { %>
<%: Html.ValidationSummary(true, "Account creation was unsuccessful. Please correct the errors and try again.") %>
<div>
<fieldset>
<legend>Account Information</legend>
<%: Html.EditorForModel() %>
<p>
<input type="submit" value="Register" />
</p>
</fieldset>
</div>
<% } %>