MVC中CheckBox
类别:编程学习 浏览量:7678
时间:2014-6-27 MVC中CheckBox
MVC中CheckBox一、单个Checkbox
1、View文件
<%= Html.CheckBoxFor(model => model.IsNeverExpired)%>
2、生成的HTML为
<input id="IsNeverExpired" name="IsNeverExpired" type="checkbox" value="true" />
<input name="IsNeverExpired" type="hidden" value="false" />
3、备注
(1)、上面生成的HTML有点奇怪, 为什么它会生成两个控件呢?
因为如果只生成一个input, 系统无法区分"没有选中checkbox" 和 "checkbox没有生成".
(2)、那又是为什么只生成一个input就无法区分呢?
原来当一个form中包含checkbox时,如果没有给它赋值(选中), 在服务器端Request.Form中得到的值是NULL
二、多个Checkbox
方法一:通过在视图页编码的方式
@using MvcCheckBoxList.Model
@model MvcApplication2.Models.UserVm
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout。cshtml";
}
@using (Html.BeginForm())
{
@Html.HiddenFor(m => m.User.Id)
<br/>
@Html.LabelFor(m => m.User.Name)
@Html.EditorFor(m => m.User.Name)
@Html.ValidationMessageFor(m => m.User.Name)
<br/>
<ul style="list-style:none;">
@foreach (var a in Model.AllRoles)
{
<li>
@if (Model.SelectedRoleIds.Contains(a.Id))
{
<input type="checkbox" name="SelectedRoleIds" value="@a.Id" id="@a.Id" checked="checked"/>
<label for="@a.Id">@a.Name</label>
}
else
{
<input type="checkbox" name="SelectedRoleIds" value="@a.Id" id="@a.Id" />
<label for="@a.Id">@a.Name</label>
}
</li>
}
</ul>
<br/>
<input type="submit" value="为用户设置角色"/>
}
@section scripts
{
@Scripts.Render("~/bundles/jqueryval")
}
方法二:通过NuGet的MvcCheckBoxList扩展
→工具--库程序包管理器--程序包管理器控制台→install-package MvcCheckBoxList
@using MvcCheckBoxList.Model
@model MvcApplication2.Models.UserVm
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout。cshtml";
}
@using (Html.BeginForm())
{
@Html.HiddenFor(m => m.User.Id)
<br/>
@Html.LabelFor(m => m.User.Name)
@Html.EditorFor(m => m.User.Name)
@Html.ValidationMessageFor(m => m.User.Name)
<br/>
@Html.CheckBoxListFor(m => m.SelectedRoleIds,
m => m.AllRoles, //所有角色
r => r.Id, //value值
r => r.Name, //显示值
r => r.UserRoles, //用户当前角色
Position.Horizontal //CheckboxList排列方向
)
<br/>
<input type="submit" value="为用户设置角色"/>
}
@section scripts
{
@Scripts.Render("~/bundles/jqueryval")
}
您可能感兴趣
- html radio样式(利用纯CSS自定义Checkbox和Radio的样式示例代码)
- 脚本实现checkbox的全选和反选
- MVC扩展HtmlHelper实现CheckBoxList
- checkbox和文字对齐
- extjs checkboxGroup 复选框的用法
- MVC中CheckBox
- 宁夏灵武恐龙化石发现始末(宁夏灵武恐龙化石发现始末)
- 到了岁末 临门一脚 节点,天台综合督评会目标直指 全年红(到了岁末临门一脚)
- 寒假余额不满24小时,不如来一场说走就走的亲子阅读之旅(寒假余额不满24小时)
- 省委书记出席的交流会,十位县委书记同场发言,代表公文材料的高水平(省委书记出席的交流会)
- 《刘老根3》热播,去世15年的她却再次被 伤害(去世15年的她却再次被)
- 十二星座爱情支配欲指数(十二星座爱情支配欲指数)
热门推荐
- mysql dateformat(MySQL的DATE_FORMAT函数的使用)
- windows连接云服务器的软件(Windows云服务器如何开启ping?)
- mysql未使用索引的查询(如何在mysql进行查询缓存及失败的解决方法)
- extjs中treepanel例子
- apache配置详解(apache2.2和php5.2.17在windows下整合过程的错误解决方法)
- 如何把织梦建站弄到自己的域名中(织梦建站访问首页时后面都会添加上index.html该如何去掉)
- react组件分析(react-diagram 序列化Json解读案例分析)
- dedecms怎么在根目录外生成文件夹(dedecms 5.6 缩略图按大小比例缩小裁剪)
- dedecms命名规则(dedecms 文章标题长度的控制方法)
- sqlserver限制windows身份登录(解决sql server 数据库,sa用户被锁定的问题)