c# - "值不能为空。\r\n参数名称:文本"
问题描述
我有一个方法(Win App C#)填写DataGridView
如下,并在我的TxB_ProitirySearch_TextChanged
活动中使用它:
void PrioFillGrid(bool IsSearching= false)
{
if (IsSearching)
{
var ddd = from p in db.PDP_Priorities
where p.PriorityTitle.Contains(aski.Change(TxB_ProitirySearch.Text))
orderby p.ID descending
select new { p.ID, Title = p.PriorityTitle };
if (ddd.Count() > 0) // Solution1
{
DG_Priority.DataSource = ddd;
}
if (ddd != null) // Solution2
{
DG_Priority.DataSource = ddd;
}
else
{
DG_Priority.DataSource = from p in db.PDP_Priorities
orderby p.ID descending
select new { p.ID, Title = p.PriorityTitle };
}
}
else
{
DG_Priority.DataSource = from p in db.PDP_Priorities
orderby p.ID descending
select new { p.ID, Title = p.PriorityTitle };
}
}
当我输入一个字符时,它会很好地搜索并更新 gridview 中的数据,但按退格键清除文本框并开始新搜索会引发此异常:
System.Data.Linq.dll 中出现“System.ArgumentNullException”类型的未处理异常”
值不能为空。参数名称:文本
(注释:aski.Change(TxB_ProitirySearch.Text)
是一个防止不需要的字符被保存在数据库中的类)
我想知道为什么解决方案 1 和 2 都无济于事。
有人可以帮我吗?
提前致谢。
解决方案
非常感谢各位大师。将“PriorityTitle.Contains 更改为 PriorityTitle?.Contains?” 对我不起作用,但使用其他指南,我更改了课程 aski.change() 如下:
public string Change(string k)
{
if (k==string.Empty)
{
return null;
}
else
{
//some codes...
return str;
}
}
然后改变我的“PrioFillGrid()”方法如下:
void PrioFillGrid(bool IsSearching= false)
{
if (aski.Change(TxB_ProitirySearch.Text) == null)
{
DG_Priority.DataSource = from p in db.PDP_Priorities
orderby p.ID descending
select new { p.ID, Title = p.PriorityTitle };
}
else if (IsSearching && aski.Change(TxB_ProitirySearch.Text) != null)
{
var ddd= from p in db.PDP_Priorities
where p.PriorityTitle.Contains(aski.Change(TxB_ProitirySearch.Text))
orderby p.ID descending
select new { p.ID, Title = p.PriorityTitle };
DG_Priority.DataSource = ddd;
}
else
{
DG_Priority.DataSource = from p in db.PDP_Priorities
orderby p.ID descending
select new { p.ID, Title = p.PriorityTitle };
}
}
现在运行良好。再次感谢每一个人。
推荐阅读
- git - Bitbucket:git push 停止工作:“致命:HTTP 请求失败”
- php - 合并具有相同键相同值的数组
- java - Grails + mysql :驱动程序没有收到来自服务器的任何数据包
- javascript - 当我将我的 redux 状态与组件状态映射时,出现错误
- postgresql - 为什么 GORM 不为 Postgres 生成 FOREIGN CONSTRAINT?
- amazon-web-services - API Gateway 区域自定义域名无法解析
- mongodb - 按字段值聚合多个数组
- reactjs - React 组件没有获取最新的 redux 状态值
- python - 按顺序从 json 数组加载数据帧
- php - 如何从codeigniter中的三个不同表中加入并获取总和?