Как настроить TextArea в MVC Razor View? - PullRequest
1 голос
/ 24 марта 2020

У меня есть TextArea, созданное с помощью бритвы, я хотел бы изменить его свойства HTML. Например, я хотел бы изменить количество строк

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

@Html.EditorFor(x => x.Desc)

Ответы [ 2 ]

2 голосов
/ 24 марта 2020

Это довольно сложно с EditorFor, поскольку оно может генерировать очень разные HTML в зависимости от типа свойства.

Здесь, поскольку вы знаете, что хотите, я бы использовал @Html.TextAreaFor, тогда вы можете передать HTML атрибутов, таких как:

@Html.TexAreaFor (x => x.Desc, new {style="width: 200px"});

Примечание: наиболее распространенный атрибут для установки - class для класса CSS. Проблема в том, что мы на самом деле пишем C# здесь, а class - это ключевое слово C#. Мы должны избежать его с помощью @ (который на самом деле является C# дословным символом, а не символом Razor):

@Html.TexAreaFor (x => x.Desc, new {@class="some-css-class"});
0 голосов
/ 24 марта 2020

Вы можете использовать атрибут класса и стиля, как показано ниже


@Html.TextArea("myTextArea", "This is value", new { @class = "form-control" })

или

@Html.TextAreaFor(model => model.Desc, new { @class = "required", style = " rows=10, columns=40" })
...