Eval check for DBNull doesnt work
<%# Eval("Description") == DBNull.Value ? "empty" : "notempty"%>
is showing always 'notempty' even there is null in that field in DB (type of varchar(), null) ... Tried also checking for empty string:
<%# Eval("Descriptio开发者_运维百科n") == "" ? "empty" : "notempty"%>
and it always displays notempty... what's wrong here??
There is a difference between DBNull.Value
and null
. It is possible the field is returning null
.
Try
<%# Eval("Description") == null ? "empty" : "notempty"%>
Also if the field value type is supposed to be string you could do something along the lines of..
<%# (Eval("Description") as string) ?? "empty" %>
Have you tried using this method:
<%# Convert.IsDBNull(Eval("Description") ? "empty" : "notempty"%>
It is not actually storing DBNull
at this level. You need to look for null
or an empty string which string.IsNullOrEmpty
should be enough and will capture both states of null
and empty.
<%# string.IsNullOrEmpty(Eval("Description").ToString()) ? "empty" : "notempty"%>
精彩评论