MVC将默认值EditorFor()设置为空白

时间:2016-12-21 16:44:53

标签: asp.net-mvc razor asp.net-mvc-5 editorfor

我在chrome上测试它。我已设置chrome以记住用户名和密码。我有一个非常简单的MVC 5 Web应用程序,我有登录屏幕和屏幕来创建用户。当用户登录时,我让chrome保存用户名和密码。

问题是当我尝试创建新用户时,它的用户名不是空白,但仍然显示我登录的用户名。

我想在视图中而不是通过控制器默认保险库。我尝试在SO上使用以下示例链接,但我的代码仍无法正常工作

how to set default value HTML.EditorFor()

这是我尝试过的代码,但是它没有用。

                    <div class="form-group">
                        <div class="col-md-12">
                            @Html.LabelFor(model => model.UserName, htmlAttributes: new { @class = "control-label" })
                            <br />
                            @Html.EditorFor(model => model.UserName, new { htmlAttributes = new { @class = "form-control", @Value ="" } })
                            @Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" })
                        </div>
                    </div>

请告知我该怎么做才能解决这个问题。你呢。

1 个答案:

答案 0 :(得分:1)

最简单的方法是简单地将模型中的属性名称从UserName更改为NewUserName。这样,自动填充不会将两个不同字段之间的自动填充条目关联起来。无论如何,您的创建和登录模型都是不同的。

或者,您也可以尝试更改视图中文本框的名称。

@Html.EditorFor(m => m.UserName, new {htmlAttributes = new { @Name="NewUserName", @id="NewUserName", @class = "form-control", @Value =""}})

您需要在控制器中为其他模型参数旁边的NewUserName添加一个参数。