System.ArgumentNullException: 值不能为空。 5

说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.ArgumentNul... 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentNullException: 值不能为空。
参数名: String

源错误:

行 22: if (categories != null)
行 23: {
行 24: foreach (Category category in categories)
行 25: {
行 26: txtCategoryId.Text = category.CategoryId.ToString();

源文件: d:\桌面\新建文件夹\web\MyPetShop\LinqEdit.aspx.cs 行: 24

堆栈跟踪:

[ArgumentNullException: 值不能为空。
参数名: String]
System.Data.Linq.SqlClient.QueryConverter.VisitInvocation(InvocationExpression invoke) +403
System.Data.Linq.SqlClient.QueryConverter.VisitInner(Expression node) +1200
System.Data.Linq.SqlClient.QueryConverter.VisitExpression(Expression exp) +23
System.Data.Linq.SqlClient.QueryConverter.VisitBinary(BinaryExpression b) +33
System.Data.Linq.SqlClient.QueryConverter.VisitInner(Expression node) +336
System.Data.Linq.SqlClient.QueryConverter.VisitExpression(Expression exp) +23
System.Data.Linq.SqlClient.QueryConverter.VisitWhere(Expression sequence, LambdaExpression predicate) +134
System.Data.Linq.SqlClient.QueryConverter.VisitSequenceOperatorCall(MethodCallExpression mc) +3659
System.Data.Linq.SqlClient.QueryConverter.VisitMethodCall(MethodCallExpression mc) +80
System.Data.Linq.SqlClient.QueryConverter.VisitInner(Expression node) +921
System.Data.Linq.SqlClient.QueryConverter.ConvertOuter(Expression node) +94
System.Data.Linq.SqlClient.SqlProvider.BuildQuery(Expression query, SqlNodeAnnotations annotations) +418
System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) +445
System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() +93
LinqEdit.Page_Load(Object sender, EventArgs e) in d:\桌面\新建文件夹\web\MyPetShop\LinqEdit.aspx.cs:24
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +33
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436

请问这个错在哪啊???foreach那样用没错啊???为什么会提示哪一行的值为空不行呢???
展开
 我来答
仰星睿2D
2011-12-12 · TA获得超过129个赞
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:173万
展开全部
你用的是Linq
Linq 有延时执行的机制
你要到返回这个categories集合的Linq语句里找错误
因为 Foreach的时候 才去执行Linq的查询
更多追问追答
追问
可以具体告诉我应该怎么做吗???
追答
你调试的时候 断点打在linq语句上 
看看调用了什么方法
应该是调用某个方法 给的参数是Null
而这个方法的这个参数 是不允许为Null的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式