number - Html.DisplayFor no publicar valores en el controlador en ASP.NET MVC 3
html editorfor format number (1)
Estoy usando ASP.NET MVC 3 con Razor, a continuación se muestra un ejemplo de mi código de vista.
El usuario debería poder editar todos sus detalles, excepto el campo "EmailAddress". Para ese campo solo he usado Html.DisplayFor(m => m.EmailAddress)
.
Pero cuando se publica este formulario, se rellenan todas las propiedades del modelo, excepto la EmailAddress
.
¿Cómo devuelvo el correo electrónico al modelo cuando publico? ¿Debería haber usado alguna ayuda que no sea 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>
}
Por favor, avísenme sobre esto.
deberás agregar un
@Html.HiddenFor(m => m.EmailAddress)
DisplayFor
no enviará nada en POST, no creará una entrada ...
Por cierto, un
@Html.HiddenFor(m => m.Id) // or anything which is the model key
Sería útil