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

Erw*_*ers 2 html c# razor asp.net-mvc-4

我在可以创建新用户的视图中遇到问题。文本框中有默认值,我不知道如何清除它们。

/ 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; }
    }
Run Code Online (Sandbox Code Playgroud)

视图看起来像这样,我只想在框中输入@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>
Run Code Online (Sandbox Code Playgroud)

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

这里不对劲 (荷兰人的道歉)

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

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

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

如果有人可以让我摆脱这种痛苦,并向我解释如何获得自己选择的默认值以显示在文本框中,我将不胜感激。

Erw*_*ers 5

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

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

是的