31
我正在使用帶有Razor的ASP.NET MVC 3,下面是我的視圖代碼中的示例。Html.DisplayFor未在ASP.NET MVC 3中向控制器發佈值
用戶應該能夠編輯除「EmailAddress」字段之外的所有詳細信息。對於那個領域,我只用了Html.DisplayFor(m => m.EmailAddress)
。
但是,當此表單發佈後,除EmailAddress
之外的所有模型屬性都將填充。
發佈時如何在模型中取回電子郵件?我應該使用DisplayFor
以外的幫手嗎?
@using (Html.BeginForm()) {
@Html.ValidationSummary(true, "Account update was unsuccessful. Please correct any errors and try again.")
<div>
<fieldset>
<legend>Update Account Information</legend>
<div class="editor-label">
@Html.LabelFor(m => m.EmailAddress)
</div>
<div class="editor-field">
@Html.DisplayFor(m => m.EmailAddress)
@*@Html.ValidationMessageFor(m => m.EmailAddress)*@
</div>
<div class="editor-label">
@Html.LabelFor(m => m.FirstName)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.FirstName)
@Html.ValidationMessageFor(m => m.FirstName)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.LastName)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.LastName)
@Html.ValidationMessageFor(m => m.LastName)
</div>
<p>
<input type="submit" value="Update" />
</p>
</fieldset>
</div>
}
請在此告訴我。
好所以在我的情況下,我需要有' DisplayFor'和'HiddenFor'吧? DisplayFor將向用戶顯示值,並且HiddenFor將值返回給控制器。 – Yasser
發現這個http://stackoverflow.com/a/11057087/1182982非常翔實! – Yasser