在razorview中显示复选框的文本

在razorview中显示复选框的文本,razor,asp.net-mvc-4,Razor,Asp.net Mvc 4,使用ASP.NETMVC4,Razor视图 我有一个的复选框: <div class="editor-checkbox-field"> @Html.CheckBoxFor(model => model.Is2ndMailBody, new { @name = "secMailBody", @id = "secMailBody", @class = "secMailBody",

使用ASP.NETMVC4,Razor视图

我有一个的复选框:

    <div class="editor-checkbox-field">
        @Html.CheckBoxFor(model => model.Is2ndMailBody, new { @name = "secMailBody", @id = "secMailBody", @class = "secMailBody", @onclick = "disable(this.form.secMailBody)", @value = "Create Table", @text = "Create Table" })
    </div>
javascript工作正常,css也正常。我只是想知道如何显示此复选框的文本

编辑1:


我希望文本在复选框的右侧创建第二个邮件正文。

首先将名为
DisplayAttribute的过滤器添加到您的模型中

[Display(Name = "Some Text")]
public bool IsChecked { get; set; }
您可以对模型使用标签

@Html.LabelFor(model => model.Is2ndMailBody)
您可以尝试以下方法:

<div class="editor-checkbox-field">
<label> Create Second Mail Body @Html.CheckBoxFor(model => model.Is2ndMailBody, new { @name = "secMailBody", @id = "secMailBody", @class = "secMailBody", @onclick = "disable(this.form.secMailBody)", @value = "Create Table", @text = "Create Table" }) </label>
</div>

创建第二个邮件正文@Html.CheckBoxFor(model=>model.Is2ndMailBody,new{@name=“secMailBody”、@id=“secMailBody”、@class=“secMailBody”、@onclick=“disable(this.form.secMailBody)”、@value=“Create Table”、@text=“Create Table”})
即:

    <label> Your text @HTML.checkBoxFor() </label>
Your text@HTML.checkBoxFor()
您可以使用

@Html.DisplayNameFor
而不是

@Html.LabelFor 

在艾莉希拉的回答中。这样,.label css样式将不会应用于文本。

如果使用引导,则可以执行此操作

<div class="checkbox">
    <label>
        @Html.CheckBoxFor(m => m.Is2ndMailBody) Create Second Mail Body
        @Html.ValidationMessageFor(m => m.Is2ndMailBody)
    </label>
</div>

@CheckBoxFor(m=>m.Is2ndMailBody)创建第二个邮件正文
@Html.ValidationMessageFor(m=>m.Is2ndMailBody)

示例来源:

答案1:只需将字符串放在下面的复选框后面即可

<div class="checkbox">
    <label>
        @Html.CheckBoxFor(m => m.Is2ndMailBody) Create Second Mail Body

    </label>
</div>
鉴于

<div>
    @Html.CheckBoxFor(m => m.IsChecked)
    @Html.LabelFor(m => m.Is2ndMailBody)
</div>

@Html.CheckBoxFor(m=>m.IsChecked)
@LabelFor(m=>m.Is2ndMailBody)

在模型类中,使用数据注释为特性指定显示名称

您需要在模型类的顶部有这个using语句

using System.ComponentModel.DataAnnotations;
然后设置“显示名称”属性

[Display(Name = "Create second mail body")]
public bool IsChecked { get; set; }
之后,在视图中使用以下div标记包装复选框。如果视图中没有引导CSS,则需要在视图中引用它

<div class="checkbox">
    @Html.CheckBoxFor(m => m.Is2ndMailBody, new { htmlAttributes = new { @class = "form-control" } })
    @Html.LabelFor(m => m.Is2ndMailBody, new { @class = "control-label" })
</div>

@CheckBoxFor(m=>m.Is2ndMailBody,new{htmlAttributes=new{@class=“form control”})
@LabelFor(m=>m.Is2ndMailBody,新的{@class=“control label”})

希望这会有所帮助

该值位于复选框之前。它会的。我想显示一个文本“就在复选框的右边”。因为我们在aspx文件中使用文本/值。我让你明白我的问题了吗?第二个答案更好,因为单击标签时,将复选框valueWith@Html.displayname更改为复选框valueWith@Html.displayname。当单击标签时,复选框不起作用。
[Display(Name = "Create second mail body")]
public bool IsChecked { get; set; }
<div class="checkbox">
    @Html.CheckBoxFor(m => m.Is2ndMailBody, new { htmlAttributes = new { @class = "form-control" } })
    @Html.LabelFor(m => m.Is2ndMailBody, new { @class = "control-label" })
</div>