tutorial net mvc español ejemplo create asp c# asp.net asp.net-mvc

c# - net - crear cuadro de texto multilínea utilizando la función Html.Helper



mvc c# (6)

Estoy intentando crear un cuadro de texto multilínea utilizando ASP.NET MVC con el siguiente código.

<%= Html.TextBox("Body", null, new { TextBoxMode = "MultiLine", Columns = "55px", Rows = "10px" })%>

Simplemente aparece un cuadro de texto de tamaño fijo de una sola línea.

por otra parte

<asp:TextBox runat="server" ID="Body" TextMode="MultiLine" Columns="55" Rows="10"></asp:TextBox>

representa la vista correcta, pero en el método de publicación del controlador con la forma nombrada formCollection

form["Body"];

devuelve un valor nulo.


Creo que el Html.EditorFor es lo que estás buscando. Eso es solo para MVC2 y para arriba. ¿Eso ayuda?

Si usa DataAnnotations y decora su propiedad con el atributo [DataType(DataType.MultilineText)] , MVC debe andamiar el html requerido para usted.


En la capa de Entidad:

[MaxLength(500)] public string Body { get; set; }

Y a la vista:

@Html.TextAreaFor(model => model.Body, new { rows = 10, cols = 50 })


Esto permite líneas múltiples, establecer ancho y altura personalizados y establecer el marcador de posición. Para la validación utilizada StringLength o RegularExpression en Model.cs

Sintaxis de Razor View

@Html.TextAreaFor(model => model.property, new { style = "width: 420px; height: 100px;", placeholder = "Placeholder here.." })


MVC4 debes usar:

@Html.TextAreaFor(x => x.Body, 10, 15, null)


Solución de VB.net:

@ Html.TextAreaFor (Function (Model) Model.Body, 3, 55, Nothing)


Un cuadro de texto multilínea en html es <textarea> :

<%= Html.TextArea("Body", null, new { cols = "55", rows = "10" }) %>

o:

<%= Html.TextArea("Body", null, 10, 55, null) %>

o mejor:

<%= Html.TextAreaFor(x => x.Body, 10, 55, null) %>

Y otra posibilidad más es decorar su propiedad de modelo de vista con el atributo [DataType] :

[DataType(DataType.MultilineText)] public string Body { get; set; }

y en su opinión:

<%= Html.EditorFor(x => x.Body) %>

y establece el ancho y alto a través de CSS.