作者:妈妈说称号长的人很牛也 | 来源:互联网 | 2023-09-05 10:31
一个字段是bit型在HTML页面,判断其如果是NULL和FALSE的话,都为FALSE,否则为TRUE我是这样写的:界面上是个checkbox控件,在数据库添入数据:让这个字段值为NULL,出现
一个字段是bit型 在HTML页面,判断其如果是NULL和FALSE的话,都为FALSE,否则为TRUE
我是这样写的:界面上是个checkbox控件,在数据库添入数据:让这个字段值为NULL,出现报错,于是我这样做了:
<%# Convert.ToBoolean(Eval("IsMaster") ?? false)%>
出现报错:
“/UDS”应用程序中的服务器错误。
--------------------------------------------------------------------------------
对象不能从 DBNull 转换为其他类型。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidCastException: 对象不能从 DBNull 转换为其他类型。
源错误:
行 32:
行 33:
行 34: 是否专家false)%>
行 35: |
行 36:
如果我改为:
<%# Convert.ToBoolean(Eval("IsMaster") == null ? 0 : 1 不报错,可是就有歧义了,如果checkbox不选,值为false类型时,值也成为了1,成了true这样就错误了。拜托高人来给解决下。谢谢您了。
7 个解决方案
!=DBnull.Value
Convert.IsDBNull
Convert.ToBoolean(Eval("IsMaster") == null ? (Eval("IsMaster")==0?0:flase) : 1
已经解决了,谢谢各位的关注,答案是:
<%#Convert.IsDBNull(Eval("IsMaster")) ? false: Eval("IsMaster") %>