猿教程 Logo

使用HtmlHelper创建CheckBox

在本节中,了解如何使用HtmlHelper在razor视图中生成复选框控件。

HtmlHelper类包括两个扩展方法,以在Razor视图中生成<input type =“checkbox”>元素:CheckBox()和CheckBoxFor()。

我们将使用以下学生模型来测试CheckBox()和CheckBoxFor()方法。

相关实例:

public class Student
{
    public int StudentId { get; set; }
    [Display(Name="Name")]
    public string StudentName { get; set; }
    public int Age { get; set; }
    public bool isNewlyEnrolled { get; set; }
    public string Password { get; set; }
}

复选框():

Html.CheckBox()是一个松散类型的方法,它生成一个具有指定名称的<input type =“checkbox”>,isChecked boolean和html属性。

CheckBox()方法签名:

MvcHtmlString CheckBox(字符串名称,bool isChecked,对象htmlAttributes)

请访问MSDN了解CheckBox()方法的所有重载。

相关实例:

@Html.CheckBox("isNewlyEnrolled", true)

运行结果:

<input checked="checked" 
        id="isNewlyEnrolled" 
        name="isNewlyEnrolled" 
        type="checkbox" 
        value="true" />

在上面的例子中,第一个参数是Student模型类的“isNewlyEnrolled”属性,它将被设置为文本框的名称和ID。 第二个参数是一个布尔值,用于选中或取消选中复选框。


CheckBoxFor:

CheckBoxFor帮助方法是一个强类型的扩展方法。 它为使用lambda表达式指定的模型属性生成<input type =“checkbox”>元素。 CheckBoxFor方法将指定的模型对象属性绑定到checkbox元素。 因此,它会根据属性值自动选中或取消选中一个复选框。

CheckBoxFor()方法签名:

MvcHtmlString CheckBoxFor(<Expression <Func <TModel,TValue >> expression,object htmlAttributes)

访问MSDN知道CheckBoxFor()方法的所有重载。

相关实例:

@model Student

@Html.CheckBoxFor(m => m.isNewlyEnrolled)

运行结果:

<input data-val="true" 
        data-val-required="The isNewlyEnrolled field is required." 
        id="isNewlyEnrolled" 
        name="isNewlyEnrolled" 
        type="checkbox" 
        value="true" />

在上面的示例中,CheckBoxFor()方法中的第一个参数是一个lambda表达式,指定要与checkbox元素绑定的model属性。 我们在上面的例子中指定了isNewlyEnrolled属性。 所以,它生成<input type =“checkbox”>元素的id和名称设置为属性名称 - isNewlyEnrolled。 value属性将被设置为isNewlyEnrolled布尔属性的值。

在上面的Html结果中,注意它已经生成了具有相同名称和值= false的其他隐藏字段。 这是因为,当您提交带有复选框的表单时,该值只有在复选框被选中时才被发布。 所以,如果你离开复选框取消选中,那么什么都不会发送到服务器,当在许多情况下,你会希望false发送。 由于隐藏输入与复选框具有相同的名称,因此如果取消选中该复选框,您仍然会将“false”发送到服务器。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/mvc/mvc-helper-CheckBox.html