私は非常に単純なコントローラー+ビューを持っています
public ActionResult Edit(string username)
{
return View(ComponentFactory.GetAdapter<IUserListAdapter>().Get(username));
}
と
@model BAP.Models.UserList
@using GrmanIT.Utils.Web
@using BAP.Models
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>Globale Benutzer</legend>
<div class="editor-label">
@Html.LabelFor(model => model.UserId)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.UserId)
@Html.ValidationMessageFor(model => model.UserId)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.UserName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.UserName)
@Model.UserName
@Html.ValidationMessageFor(model => model.UserName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Bundesland)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.Bundesland, new SelectList((IEnumerable<BAP.Models.Bundesland>)ViewData["BundeslandList"], "Value", "Text"))
</div>
<div>
<input type="submit" value="@LocalizationHelper.LocalizedLiteral("Save").ToString()" />
</div>
</fieldset>
}
<div>
@Html.ActionLink(LocalizationHelper.LocalizedLiteral("BackToList").ToString(), "Index")
</div>
@Model.UserName
これは、MVC4 アプリケーションで使用する最も単純なコントローラーとビューですが、奇妙なことを行います: @Html.EditorFor(model => model.UserName) で作成されたTextBoxを、UserNameの代わりのモデル
私はそれをデバッグし、そこにはいつものようにUserNameとUserIdの正しい値があります。ビュー内に@Model.UserNameを 2 回追加して、正しくレンダリングされるかどうかを確認したこともわかります。はい、ID ではなく UserName が出力されます。
UserName プロパティへの参照も確認しましたが、それを変更するものは見つかりませんでした。私の質問は、コードをどこで変更できるか、またはそれを見つけたらどうすればよいか、何か考えがありますか?
この1つのアクションのこの1つのコントローラーでのみ発生します(〜25コントローラーと〜200アクションのうち)
ありがとうございました