LabelFor + EditorFor在同一行?

时间:2012-05-28 23:26:52

标签: asp.net .net asp.net-mvc asp.net-mvc-3 razor

我有这段代码:

<div class="editor-label">
    @Html.LabelFor(model => model.Ticket)
</div>
<div class="editor-field">
    @Html.EditorFor(model => model.Ticket)
    @Html.ValidationMessageFor(model => model.Ticket)
</div>

如何在同一行上获取标签和复选框(在本例中为复选框)?我试过删除div并且它们仍然出现在不同的行上。

谢谢。

2 个答案:

答案 0 :(得分:6)

删除对我的应用无效,但在new { @style = "display:inline-block" }上添加LabelFor()作为第二个参数。

我更喜欢标签前面的复选框,因此它会是:

<div>
    @Html.EditorFor(model => model.GetAll)
    @Html.LabelFor(model => model.GetAll, new { @style = "display:inline-block" })
</div>

答案 1 :(得分:5)

只需删除分隔它们的div,这对我有效,我得到Ticket []

另外,如果您知道CheckBoxFor

,请使用CheckBox
<div>
    @Html.LabelFor(model => model.Ticket)
    @Html.CheckBoxFor(model => model.Ticket)
    @Html.ValidationMessageFor(model => model.Ticket)
</div>

我也使用了这个代码作为OP声明这是他的代码

<div class="editor-field">
    @Html.Label("SMS Alerts?")
    @Html.EditorFor(model => model.GetAll)
</div>

我得到GetAll []

GetAll是我的ViewModel中的bool

也用这个

<div>
    @Html.LabelFor(model => model.GetAll)
    @Html.EditorFor(model => model.GetAll)
</div>

我得到GetAll []

这个

<div class="editor-field">
    @Html.LabelFor(model => model.GetAll)
    @Html.EditorFor(model => model.GetAll)
</div>

我得到GetAll []

在每种情况下,我的测试都是标签,复选框是内联的