为了账号安全,请及时绑定邮箱和手机立即绑定

"值不能为空。\r\n参数名称:文本"

"值不能为空。\r\n参数名称:文本"

C#
阿波罗的战车 2021-10-23 16:10:31
我有一个方法(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 都无济于事。有人可以帮我吗?
查看完整描述

3 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

对我来说,问题是 DI 机制创建了UrlHelper实例,导致该实例的所有属性都为 null,包括routeCollectionand requestContext,通过将 UrlHelper 实例直接传递给需要它的方法来解决。


查看完整回答
反对 回复 2021-10-23
?
当年话下

TA贡献1890条经验 获得超9个赞

解决方案 1 和 2 没有帮助,因为异常是事先抛出的。

我在 aski.Change() 方法中猜测。

尝试

if (IsSearching && !string.IsNullOrEmpty(TxB_ProitirySearch.Text))


查看完整回答
反对 回复 2021-10-23
  • 3 回答
  • 0 关注
  • 165 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信