Ich habe eine Ansicht mit einem Submit-Formular (Html.BeginForm()), und möchte einige Modelleigenschaften festlegen in der Steuerung in der Hoffnung, diese Eigenschaften in der Ansicht zu sehen.
Hier ist mein Muster für das Standard-MVC-3-Anmeldeformular.
Präzision : Ich möchte diese Eigenschaften wirklich innerhalb der POST-Behandlung festlegen, nicht in einem GET.
Könnten Sie bitte erklären, warum meine Eigenschaften, die im Controller festgelegt sind, nie in der Ansicht angezeigt werden?
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
model.RememberMe = true;
model.UserName = "foobar";
return View(model);
}
Mit einer Ansicht wie der Standardansicht LogOn.cshtml:
@using (Html.BeginForm()) {
<div>
<fieldset>
<legend>Account Information</legend>
<div class="editor-label">
@Html.LabelFor(m => m.UserName)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.UserName)
@Html.ValidationMessageFor(m => m.UserName)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.Password)
</div>
<div class="editor-field">
@Html.PasswordFor(m => m.Password)
@Html.ValidationMessageFor(m => m.Password)
</div>
<div class="editor-label">
@Html.CheckBoxFor(m => m.RememberMe)
@Html.LabelFor(m => m.RememberMe)
</div>
<p>
<input type="submit" value="Log On" />
</p>
</fieldset>
</div>
}