ASP.NET MVC3 – 带有@ Html.EditorFor的textarea

我有ASP.NET MVC3应用程序,我也形成了添加新闻。 当VS2010创build默认视图时,我只有string数据的文本input,但我希望有新闻文本的textarea。 我如何用Razor语法来做到这一点。

文本input如下所示:

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

你可以像这样在视图模型上使用[DataType]属性:

 public class MyViewModel { [DataType(DataType.MultilineText)] public string Text { get; set; } } 

然后你可以有一个控制器:

 public class HomeController : Controller { public ActionResult Index() { return View(new MyViewModel()); } } 

和一个你想要的视图:

 @model AppName.Models.MyViewModel @using (Html.BeginForm()) { @Html.EditorFor(x => x.Text) <input type="submit" value="OK" /> } 

有人问到添加属性(特别是“行”和“列”)。 如果你使用剃刀,你可以这样做:

 @Html.TextAreaFor(model => model.Text, new { cols = 35, @rows = 3 }) 

这对我行得通。 “@”用于转义关键字,因此将它们视为variables/属性。

 @Html.TextAreaFor(model => model.Text)