Este es un problema común que muchas personas se pierden en el marco asp.net mvc. No solo la diferencia en los helpers como HiddenFor
, DisplayFor
, TextBoxFor
, sino cómo exactamente el marco se configura automáticamente recopilando y validando estas entradas. La magia está hecha con los atributos data- * de HTML5. Al observar la etiqueta de entrada generada, observará que habrá algunas propiedades adicionales en forma de data-val
, data-val-required
, y quizás algunas propiedades de datos adicionales para los tipos, por ejemplo, los valores numéricos serían data-val-number
.
Estos atributos de datos permiten a la extensión jQuery jquery.validate.unobtrusive.js
analizar el DOM y luego decidir qué campos validar o generar mensajes de error.
La recopilación real de datos publicados se refleja en la propiedad name
. Esto es lo que debe corresponderse con el modelo que está en el método C# o vb [HttpPost]
.
Utilice HiddenFor
cuando desee proporcionar datos publicados que el usuario no necesita conocer.
Utilice DisplayFor
cuando desee mostrar registros pero no permita que se editen.
Use TextBoxFor
cuando desee permitir la entrada del usuario o permitir que el usuario edite un campo.
EDITAR
"the purpose of this view is to enable the user to view the data before submitting it to the database. Any ideas how I can achieve this?"
Usted puede lograr esto con un dúo de HiddenFor
y DisplayFor
. Use HiddenFor
para tener los valores listos para ser publicados, y DisplayFor
para mostrar esos valores.
Necesito mostrar los campos como "etiquetas". Esta es la razón por; El objetivo de esta vista es permitir al usuario ver los datos antes de enviarlos a la base de datos. ¿Alguna idea de cómo puedo lograr esto? – Jacques