MVC 2 EditorForModel () отображает тип = текст вместо типа = пароль - PullRequest
0 голосов
/ 31 мая 2011

У меня есть форма регистрации, которая заполняется с использованием 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>
<% } %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...