ASP。NET MVC3 - textarea @Html。EditorFor

我有ASP。NET MVC3应用程序,我也有形式添加新闻。当VS2010创建默认视图时,我只有字符串数据的文本输入,但我想有新闻文本的文本区域。我如何用Razor语法做到这一点。

文本输入是这样的:

@Html.EditorFor(model => model.Text)
130461 次浏览

你可以像这样在你的视图模型上使用[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)

有人询问添加属性(特别是“rows”和“cols”)。如果你正在使用Razor,你可以这样做:

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

这对我很有用。“@”用于转义关键字,因此它们被视为变量/属性。

在with的模型中声明

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

然后在.cshtml中可以像下面这样使用编辑器。你可以使用@cols@rows来设置TextArea的大小

     @Html.EditorFor(model => model.urString, new { htmlAttributes = new { @class = "",@cols = 35, @rows = 3 } })

谢谢!