1

新しい問題が見つかったので、新しい投稿を作成しています。Razor エンジンが、今日の仕事を終わらせるのに役立たない..

このコードを使用すると、ViewBag.user.UserName が画面に表示されません

<td>@Html.TextBoxFor(m => m.UserName, new { @class = "validate[required]", disabled = "disabled", value = @ViewBag.user.UserName }) @Html.ValidationMessage("usernameVal", "*")</td>

さて、そのように TextBoxFor の外に置くと:

@ViewBag.user.UserName 

ユーザーのユーザー名を取得します。

Razor は、そのような状況を検出できるほどスマートである必要があったのでしょうか?

4

1 に答える 1

0

モデル値を使用してカミソリが設定する値属性を設定しようとしているからだと思います。

ただし、ヘルパーを呼び出す前に、コード ブロックを使用してビュー バッグ内の値でモデル値を更新できます。

@{
    Model.UserName = ViewBag.user.UserName;
}
<td>@Html.TextBoxFor(m => m.UserName, new { @class = "validate[required]", disabled = "disabled" }) @Html.ValidationMessage("usernameVal", "*")</td>

しかし、モデルに既に値があるのではなく、なぜそれを行うのでしょうか?

于 2012-11-22T16:46:24.340 に答える