ASP.NET MVC 编辑器模板;用于显示的列的定位



我在 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 类"以获得更干净的代码。

最新更新