我有 ASP.NET MVC3 应用程序,也有用于添加新闻的表单。当 VS2010 创建默认视图时,我只有字符串数据的文本输入,但我希望文本区域用于新闻文本。我如何使用 Razor 语法来做到这一点。
文本输入如下所示:
@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" />
}
有人询问添加属性(特别是“行”和“列”)。如果你使用 Razor,你可以这样做:
@Html.TextAreaFor(model => model.Text, new { cols = 35, @rows = 3 })
这对我行得通。 '@' 用于转义关键字,因此它们被视为变量/属性。
@Html.TextAreaFor(model => model.Text)
在你的模型中声明
[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 } })
谢谢 !
DataAnnotations
英尺!谢谢你。