Значение по умолчанию для текстового поля в синтаксисе Razor - PullRequest
0 голосов
/ 12 июля 2011
    <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>

На этой странице загрузки (Просмотр загрузки), я хотел бы, чтобы текстовое поле Имя пользователя автоматически заполняло его значение из стандартной информации о членстве в aspnet.Как можно назначить это значение по умолчанию для текстового поля.Пожалуйста помоги.спасибо

1 Ответ

4 голосов
/ 12 июля 2011

В вашем действии контроллера вы можете заполнить модель представления и установить для нее соответствующие свойства. Итак, предположим, что ваш взгляд строго типизирован на MyViewModel:

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

и в представлении просто:

<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>

Если ваша модель представления имеет какое-либо свойство AccountModel, вам придется создать его экземпляр и заполнить его в действии контроллера. В моем примере я сплющил модель представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...