Razor 语法中的文本框默认值

ZVe*_*nue 0 asp.net asp.net-mvc razor asp.net-mvc-3

    <div class="editor-label">
        @Html.LabelFor(model => model.UserName)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.AccountModel.UserName)
        @Html.ValidationMessageFor(model => model.AccountModel.UserName)
    </div>
Run Code Online (Sandbox Code Playgroud)

在此页面加载(查看加载)中,我希望用户名文本框的值从标准的 aspnet 成员资格信息中自动填充。如何将此默认值分配给文本框。请帮忙。谢谢你

Dar*_*rov 5

在您的控制器操作中,您可以填充视图模型并在其上设置相应的属性。因此,假设您的视图是强类型的MyViewModel

[Authorize]
public ActionResult Foo()
{
    var model = new MyViewModel
    {
        UserName = User.Identity.Name
    };
    return View(model);
}
Run Code Online (Sandbox Code Playgroud)

并在视图中简单地:

<div class="editor-label">
    @Html.LabelFor(model => model.UserName)
</div>
<div class="editor-field">
    @Html.EditorFor(model => model.UserName)
    @Html.ValidationMessageFor(model => model.UserName)
</div>
Run Code Online (Sandbox Code Playgroud)

如果您的视图模型具有某些AccountModel属性,则必须在控制器操作中实例化并填充它。在我的示例中,我已经展平了视图模型。