首页 文章

ASP.NET MVC3 - 带@ Html.EditorFor的textarea

提问于
浏览
203

我有ASP.NET MVC3应用程序,我也有表单添加新闻 . 当VS2010创建默认视图时,我只有字符串数据的文本输入,但我想要textarea用于新闻文本 . 我如何使用Razor语法来完成它 .

文字输入如下:

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

3 回答

  • 95

    您可以在视图模型上使用[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" />
    }
    
  • 366

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

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

    这对我行得通 . '@'用于转义关键字,因此它们被视为变量/属性 .

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

相关问题