ASP.NET MVC3 - área de texto con @Html.EditorFor
Tengo la aplicación ASP.NET MVC3 y también tengo un formulario para agregar noticias. Cuando VS2010 creó la vista predeterminada, solo tengo entradas de texto para datos de cadena, pero quiero tener un área de texto para el texto de las noticias. Cómo puedo hacerlo con la sintaxis de Razor.
La entrada de texto se ve así:
@Html.EditorFor(model => model.Text)
Aceptado
Podrías usar el [DataType]
atributo en tu modelo de vista de esta manera:
public class MyViewModel
{
[DataType(DataType.MultilineText)]
public string Text { get; set; }
}
y luego podrías tener un controlador:
public class HomeController : Controller
{
public ActionResult Index()
{
return View(new MyViewModel());
}
}
y una vista que hace lo que quieres:
@model AppName.Models.MyViewModel
@using (Html.BeginForm())
{
@Html.EditorFor(x => x.Text)
<input type="submit" value="OK" />
}
Alguien preguntó acerca de agregar atributos (específicamente, 'filas' y 'cols'). Si estás usando Razor, puedes hacer esto:
@Html.TextAreaFor(model => model.Text, new { cols = 35, @rows = 3 })
Funciona para mi. La '@' se utiliza para escapar de las palabras clave para que sean tratadas como variables/propiedades.
@Html.TextAreaFor(model => model.Text)