Asp.net MVC Checkbox控件 和 Nullable<bool>, 或bool?类型
@Html.CheckBoxFor() 这个方法生成两个Input HTML标签,不明白为什么这样,如果数据库是Nullable<bool>类型,就会报错。
网上的解决方法是这样:
方法一:
如下即可: <input name="Flag" type="checkbox" id="Flag" value="1" @(Html.Raw((p.Flag??0) ==1 ? "checked=\"checked\"" : "")) >
方法二:
//HtmlHelper扩展方法
public static MvcHtmlString GetCheckedString<TModel>(this HtmlHelper<TModel> html, Expression<Func<TModel, bool>> expression)
    {
        if(html.ViewData.Model == null ) return new MvcHtmlString("");
        if (expression.Compile().Invoke(html.ViewData.Model)) return new MvcHtmlString(" checked ='checked' ");
        return new MvcHtmlString("");
}
//cshtml标签
<input name="Flag" type="checkbox" id="Flag" value="1" @Html.GetCheckedString(p=> (p.Flag??0) ==1 ) >有效
Asp.net MVC Checkbox控件 和 Nullable<bool>, 或bool?类型的更多相关文章
- asp.net中的CheckBox控件的使用
		CheckBox控件中的最重要属性就是checked属性了 下面就是使用checked属性的一个小应用; 先建立一个wed窗体:在窗体中写下这些代码: <%@ Page Language=&qu ... 
- MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件
		类似于多层级的角色与权限控制功能,用MVC实现MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件.最近我们的项目中需要用到树型菜单,以前使用WebForm时,树型菜单有微软提供的 ... 
- CheckBox控件
		前台代码: <asp:CheckBox ID="CheckBox1" runat="server" Text ="苹果"/> & ... 
- MVC通用控件库展示-MVC4.0+WebAPI+EasyUI+Knockout--SNF快速开发平台3.0
		在我们开发中怎么才能提高效率,就是要有大量的公共组件(控件)可以直接使用而不用自己再开发一遍,既然是公共控件那也得简单实用才行.下面就介绍一下SNF-MVC当中的控件库. 总体控件库展示: 1.通用用 ... 
- [转载]ASP.NET中TextBox控件设立ReadOnly="true"后台取不到值
		原文地址:http://www.cnblogs.com/yxyht/archive/2013/03/02/2939883.html ASP.NET中TextBox控件设置ReadOnly=" ... 
- ASP.NET Web数据控件
		ASP.NET Web数据控件 1.数据控件简介 这包括数据源控件和格式设置控件,前者使您可以使用 Web 控件访问数据库中的数据,后者使您可以显示和操作ASP.NET 网页上的数据. 2.数据控件 ... 
- ASP.NET让FileUpload控件支持浏览自动上传功能的解决方法
		ASP.NET的FileUpload控件默认是不支持服务端的onchange事件的,此时可以用一种变通的方法来实现这一功能. 这就需要借用客户端的onchange事件,调用__doPostBack方法 ... 
- asp.net中Repeater控件用法笔记
		大家可能都对datagrid比较熟悉,但是如果在数据量大的时候,我们就得考虑使用 repeater作为我们的数据绑定控件了.Repeater控件与DataGrid (以及DataList)控件的主要区 ... 
- checkBox控件的CheckedChanged与CheckedStateChanged区别
		Checked属性为bool类型,CheckState属性为枚举类型(CheckState.Checked.CheckState.Unchecked和CheckState.Indeterminate) ... 
随机推荐
- 经典的GDB调试命令,包括查看变量,查看内存
			经典的GDB调试命令,包括查看变量,查看内存 在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据.print命令的格式是: p ... 
- Oracle query that count connections by minute with start and end times provided
			数据结构类似 SQL> select * from t; B E N ----------------- ------------ ... 
- 【模板】树链剖分求LCA
			洛谷3379 #include<cstdio> #include<algorithm> using namespace std; ,inf=1e9; int n,m,x,y,r ... 
- 实验十二 团队作业8:软件测试与Alpha冲刺 第五天
			项目 内容 这个作业属于哪个课程 老师链接 这个作业的要求在哪里 实验十二 团队作业8:软件测试与Alpha冲刺 团队名称 Always Run! 作业学习目标 (1)掌握软件测试基础技术 (2)学习 ... 
- 公钥基本结构(PKI)的概念
			公钥证书 ,通常简称为证书 ,用于在 Internet.Extranet 和 Intranet 上进行身份验证并确保数据交换的安全.证书的颁发者和签署者就是众所周知的 证书颁发机构 (CA),将在下一 ... 
- 【codeforces 796C】Bank Hacking(用一些技巧来代替multiset)
			[题目链接]:http://codeforces.com/contest/796/problem/C [题意] 给你n个节点,你一开始选择一个节点,然后打掉它,然后与被打掉过的节点相连的节点才能被 打 ... 
- chromeDriver下载地址
			http://chromedriver.storage.googleapis.com/index.html 
- The merchant
			The merchant Time Limit: 3000MS Memory Limit: 65536K Description There are N cities in a cou ... 
- App的登陆注册接口安全设计
			最近一APP产品,我担任的主要模块之一是后台登录注册模块的接口开发.基本完成,就说说并记录一下关于登录注册接口的一些东西,因为也涉及到接口的安全方面的问题. 1.先一般的app的登录注册接口安全设计上 ... 
- 用循环链表实现Josephus问题
			Josephus问题:设有n个人围坐在一个圆桌周围,现从第s个人开始报数,数到第m的人出列,然后从出列的下一个人重新开始报数,数到第m的人又出列.如此反复直到所有的人全部出列为止. 思路:构建一个没有 ... 
