Estoy usando ASP.NET MVC 3 con Razor, a continuación se muestra un ejemplo de mi código de vista.Html.DisplayPara no publicar valores en el controlador en ASP.NET MVC 3
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 el EmailAddress
.
¿Cómo devuelvo el correo electrónico al modelo cuando publico? ¿Debo haber usado algún tipo de 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.
bien así que en mi caso, yo tendría que tener tanto ' DisplayFor' y 'HiddenFor' ¿verdad? DisplayFor mostrará el valor al usuario, y HiddenFor publicará el valor nuevamente en el controlador. – Yasser
encontró esto http://stackoverflow.com/a/11057087/1182982 muy informativo! – Yasser