在ASP.MVC 3中,如何指定多行EditorFor(textarea)的列和行?我正在使用[UIHint("MultilineText")],但找不到有关如何为文本区域添加属性的任何文档.
期望的HTML:
<textarea cols="40" rows="10"></textarea>
Run Code Online (Sandbox Code Playgroud)
我的MVC 3模型的相关部分:
[UIHint("MultilineText")]
public string Description { get; set; }
Run Code Online (Sandbox Code Playgroud)
我的Razor cshtml的相关部分:
<div class="editor-field">
@Html.EditorFor(model => model.Description)
</div>
Run Code Online (Sandbox Code Playgroud)
我在视图中获得的内容:
<div class="editor-field">
<textarea class="text-box multi-line" id="Description" name="Description"></textarea>
</div>
Run Code Online (Sandbox Code Playgroud)
如何设置行和列?
这是我的代码:
<div class="editor-label">
@Html.LabelFor(model => model.Comments[0].Comment)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Comments[0].Comment)
@Html.ValidationMessageFor(model => model.Comments[0].Comment)
</div>
Run Code Online (Sandbox Code Playgroud)
这就是它产生的:
<div class="editor-label">
<label for="Comments_0__Comment">Comment</label>
</div>
<div class="editor-field">
<input class="text-box single-line" data-val="true" data-val-required="The Comment field is required." id="Comments_0__Comment" name="Comments[0].Comment" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="Comments[0].Comment" data-valmsg-replace="true"></span>
</div>
Run Code Online (Sandbox Code Playgroud)
我如何告诉它该字段应该是一个包含五行而不是一行文本框的文本框?
我的观点中有以下两种类型的多行textareas:
<textarea cols="100" rows="15" class="full-width" id="dialogText"
name="Text">@Model.Text</textarea>
<textarea cols="100" rows="10" class="full-width" id="dialogText"
name="Text">@Model.Text</textarea>
Run Code Online (Sandbox Code Playgroud)
我想利用自定义编辑器模板,但保持以不同方式指定属性的能力(例如,上述rows两者之间的不同).
我可以为同一个字段声明和使用两种不同的模板吗?如果是,那么我应该如何声明模板以及如何指定要使用的不同模板?
另外,我如何声明不同的列和行.我可以使用cols,rows或者我应该指定高度和宽度,CSS例如width=500px, height=600px或400px?