ASP.NET MVC3 - área de texto con @Html.EditorFor

Resuelto Jacob Jedryszek asked hace 13 años • 4 respuestas

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)
Jacob Jedryszek avatar Feb 08 '11 04:02 Jacob Jedryszek
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" />
}
Darin Dimitrov avatar Feb 07 '2011 21:02 Darin Dimitrov

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.

Tyson Phalp avatar Mar 08 '2012 21:03 Tyson Phalp
@Html.TextAreaFor(model => model.Text)
addy avatar Aug 09 '2011 11:08 addy