在razorview中显示checkboxfor的文本

Abd*_*him 9 razor asp.net-mvc-4

使用ASP .Net MVC 4,Razor View

我有一个CheckBoxFor:

    <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>
Run Code Online (Sandbox Code Playgroud)

但CheckBox本身正在显示.我如何显示文本CheckBox的用途?

我的模特有:

public bool IsChecked { get; set; }
Run Code Online (Sandbox Code Playgroud)

javascript工作正常,css也.我只想知道如何显示此复选框的文字?

编辑1:

这是显示的

我想要复选框右侧的文本创建第二个邮件正文.

Abd*_*him 13

答案1:只需将字符串放在CheckBox之后,如下所示.

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

    </label>
</div>
Run Code Online (Sandbox Code Playgroud)

答案2:在模型中,

[Display(Name = "Create Second Mail Body")]
public bool Is2ndMailBody{ get; set; }
Run Code Online (Sandbox Code Playgroud)

在视图中

<div>
    @Html.CheckBoxFor(m => m.IsChecked)
    @Html.LabelFor(m => m.Is2ndMailBody)
</div>
Run Code Online (Sandbox Code Playgroud)

  • 第二个答案更好,因为点击标签会更改复选框值 (4认同)

Ali*_*hşi 6

首先将过滤器添加到调用的模型中 DisplayAttribute

[Display(Name = "Some Text")]
public bool IsChecked { get; set; }
Run Code Online (Sandbox Code Playgroud)

您可以使用Label作为模型

@Html.LabelFor(model => model.Is2ndMailBody)
Run Code Online (Sandbox Code Playgroud)


Rya*_*yan 6

您可以使用

@Html.DisplayNameFor
Run Code Online (Sandbox Code Playgroud)

代替

@Html.LabelFor 
Run Code Online (Sandbox Code Playgroud)

在Alizra的回答中.这样,.label css样式将不会应用于您的文本.