C# 正在使用DataTable检查空值。选择
我使用的数据表选择如下:C# 正在使用DataTable检查空值。选择,c#,asp.net,datatable.select,C#,Asp.net,Datatable.select,我使用的数据表选择如下: DataRow[] rows = employees.Select("Name LIKE '%" + TB_Search.Text + "%'"); LV_Employees.DataSource = rows; LV_Employees.DataBind(); <%# Eval("Title") == DBNull.Value ? "" : Eval("Title") %> 我有一个listview,我在其中检查我在列表中使用的数据行中包含的值,我检
DataRow[] rows = employees.Select("Name LIKE '%" + TB_Search.Text + "%'");
LV_Employees.DataSource = rows;
LV_Employees.DataBind();
<%# Eval("Title") == DBNull.Value ? "" : Eval("Title") %>
我有一个listview,我在其中检查我在列表中使用的数据行中包含的值,我检查的值如下:
DataRow[] rows = employees.Select("Name LIKE '%" + TB_Search.Text + "%'");
LV_Employees.DataSource = rows;
LV_Employees.DataBind();
<%# Eval("Title") == DBNull.Value ? "" : Eval("Title") %>
但当我这样做时,仍然会出现以下错误:
无法将“System.DBNull”类型的对象强制转换为“System.String”类型
我也试着检查Eval(“Title”)==null
,但得到了相同的错误。我不知道还有什么方法可以检查null值来解决这个问题
我也尝试过同样的错误:
(Eval(“Title”)作为字符串)??“”
Convert.IsDBNull(Eval(“Title”)?“”:“测试”
string.IsNullOrEmpty(Eval(“Title”).ToString()?“”:“测试”
Eval(“Title”).ToString().IsNullOrEmpty()?“”:“test”
在codebehind中这样做是可行的,但似乎很奇怪,我不能只在标记代码中执行内联检查
foreach (DataRow r in rows)
{
if (r["Title"] == DBNull.Value)
r["Title"] = "";
}
应该解决这个问题:
LV_Employees.DataSource = employees.Select("Name LIKE '%" + TB_Search.Text + "%'")
.CopyToDataTable();
LV_Employees.DataBind();
可能的重复我也尝试过所有这些解决方案,但总是出现相同的错误。所以这是不同的。这似乎与使用DataTable.Select方法更相关。这并不奇怪,DBNull不能隐式转换为字符串。这与任何无法转换为字符串的对象都会遇到的问题相同。试试
。。。(对象)DBNull.Value代码>
仍然给出相同的错误完美!谢谢不知道那个方法(很明显)。。没有使用DataTable。请选择以前的内容。