1

我在我的 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 
4

1 回答 1

0

那么解决方案是基于html/css。您可以使用“div”或“table”。

使用 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 类”以获得更清晰的代码。

于 2012-12-11T15:43:24.440 回答