我在 ASP.net MVC项目中使用编辑器模板。 编辑器模板由隐藏字段、复选框、标签和文本框组成。
这是编辑器模板:
@model Models.Domain.myObject
<p>
@Html.HiddenFor(x => x.Id)
@Html.DisplayFor(x => x.Name)
@Html.CheckBoxFor(x => x.Selected)
@Html.TextBoxFor(x => x.DefaultCount, new { disabled = "disabled"})
</p>
以下是我使用此模板的观点:
@Html.EditorFor(model => model.myObject)
有时我可能有 3 个 myObjects,有时我有 10 个。 MVC 在为我设置所有这些方面做得很好,只有一个例外。
我希望所有名称彼此右对齐,并且我希望复选框彼此左对齐以达到外观目的。
我该怎么做?
现在我得到这样的东西:
displaydisplay checkbox textbox
display checkbox textbox
displaydisplaydisplay checkbox text box
我想得到的是(希望你能看到对齐方式):
displaydisplay checkbox textbox
display checkbox textbox
displaydisplaydisplay checkbox textbox
该解决方案基于HTML/css。您可以使用"div"或"table"。
使用表格选项的示例:
查看"母亲"
<table>
@Html.EditorFor(model => model.myObject)
</table>
查看 "儿童"
<tr>
<td style="width: 200px; text-align: right;">
@Html.HiddenFor(x => x.Id)
@Html.DisplayFor(x => x.Name)
</td>
<td>
@Html.CheckBoxFor(x => x.Selected)
@Html.TextBoxFor(x => x.DefaultCount, new { disabled = "disabled"})
</td>
</tr>
注意:正如我所说,您可以使用 Divs 来执行相同的视觉效果,并且可以添加"css 类"以获得更干净的代码。