2011-04-20 17 views
28

Estoy usando MVC3. Cuando hago un campo con¿Cómo creo un campo oculto en MVC3?

@Html.EditorFor(model => model.RowKey) 

Luego el valor se envía de vuelta al controlador que es lo que necesito. Sin embargo, no quiero que el campo sea visible, aunque quiero que su valor sea devuelto al controlador.

¿Hay alguna manera de hacer un campo oculto con MVC3?

Respuesta

1

Podría usar el ayudante hiddenfor, así:

@Html.HiddenFor(m => m.RowKey) 
44

Si desea mantener Html.EditorFor(), siempre se puede marcar una propiedad particular de su modelo como oculto:

using System.Web.Mvc.HiddenInput; 

public class Model 
{ 
    [HiddenInput(DisplayValue = false)] 
    // some property 
} 
+0

Prefiero su solución y la actualicé para incluir más detalles sobre el atributo. Y aunque no utilizo la estrategia de simplemente hacer 'Html.EditorForModel()' y prefiero ser específico sobre qué incluir por propiedad, solo uso 'Html.EditorFor'. Creo que si comenzara de nuevo, usaría 'Html.EditorForModel' y personalizaría todo usando el andamiaje y los atributos. – jamiebarrow

+0

¿Existe alguna diferencia fundamental entre el uso de estos dos enfoques? ¿Excepto el azúcar sintáctico quizás? –

2

Esto funciona para mí:

@Html.EditorFor(m => m.RowKey, new { htmlAttributes = new { @style="display: none" } })