TextBoxFor和PasswordFor元素显示未知原因的默认值

时间:2013-11-25 11:45:45

标签: c# html asp.net-mvc-4 razor

我对可以创建新用户的视图有疑问。文本框中有默认值,我不知道如何摆脱它们。

/ edit 寄存器模型如下所示:

   public class RegisterModel
    {
        [Required(ErrorMessage = "*")]
        [Display(Name = "Naam")]
        public string UserName { get; set; }

        [Required(ErrorMessage = "*")]
        [Display(Name = "E-mailadres")]
        public string Email { get; set; }

        [Required(ErrorMessage = "*")]
        [StringLength(100, ErrorMessage = "Het {0} moet op zijn minst {2} tekens lang zijn.", MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "wachtwoord")]
        public string Password { get; set; }

        [DataType(DataType.Password)]
        [Display(Name = "Bevestig wachtwoord")]
        [Compare("Password", ErrorMessage = "De twee wachtwoorden komen niet overeen.")]
        public string ConfirmPassword { get; set; }
    }

视图看起来像这样,我只想要框中@placeholder元素的文本。

<fieldset>
    <legend>Register new user</legend>
    <ol>
        <li>
            @Html.TextBoxFor(m => m.UserName, new { @class = "form-control", @placeholder = "Volledige naam"})
        </li>
        <li>
            @Html.TextBoxFor(m => m.Email, new { @class = "form-control", @placeholder = "E-mail "})
        </li>
        <li>
            @Html.PasswordFor(m => m.Password, new { @class = "form-control", @placeholder = "Wachtwoord" })
        </li>
        <li>
            @Html.PasswordFor(m => m.ConfirmPassword, new { @class = "form-control", @placeholder = "Bevestig wachtwoord"})
        </li>

    </ol>
    <button type="submit">Register</button>
</fieldset>

不幸的是,输出看起来像这样:

something is wrong here (为荷兰人道歉)

我当前登录的用户名(a_random_username)显示在框中,密码字段也是如此。

我试图在TextBoxFor和PasswordFor元素的新{}元素中放置@Value =“”元素但没有成功。我试图在模型中创建一个空的RegisterModel并将其传递给视图但没有成功。我尝试更新模型中的默认值但没有成功。

我完全不知道为什么它会自动填写我自己的用户名和密码。

如果有人能让我摆脱这种苦难并向我解释如何将自己选择的默认值显示在文本框中,我将非常感激。

1 个答案:

答案 0 :(得分:4)

感谢CodeCaster的建议,我找到了解决方案。通过向TextBoxfor和PasswordFor元素添加:@AutoComplete =“off”,问题得以解决。如,

<li>
    @Html.TextBoxFor(m => m.UserName, new { @class = "form-control", 
                                            @placeholder = "Volledige naam",
                                            @Autocomplete= "off"})
</li>

是啊!