今天做实验时遇到了这样的问题:
ArgumentNullException: 值不能为 null。问题的错误提示如下:
行 14: {
行 15: string categoryId = Request.QueryString["CategoryId"];
行 16: var category = (from c in db.Category
行 17: where c.CategoryId == int.Parse(categoryId)
行 18: select c).First(); |
源文件: e:\mywebs\Expelement\WebSet\Updata.aspx.cs 行: 16
堆栈跟踪:
[ArgumentNullException: 值不能为 null。 参数名: String] System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +10725658 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +145 System.Int32.Parse(String s) +23 lambda_method(Closure ) +101 [TargetInvocationException: 调用的目标发生了异常。] System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +192 System.Delegate.DynamicInvokeImpl(Object[] args) +117 System.Data.Linq.CommonDataServices.GetKeyFromPredicate(MetaType type, Dictionary`2 keys, Expression mex, Expression vex) +459 System.Data.Linq.CommonDataServices.GetKeysFromPredicate(MetaType type, Dictionary`2 keys, Expression expr) +257 System.Data.Linq.CommonDataServices.GetKeyValues(MetaType type, LambdaExpression predicate) +87 System.Data.Linq.CommonDataServices.GetCachedObject(Expression query) +573 System.Data.Linq.CommonDataServices.GetCachedObject(Expression query) +308 System.Data.Linq.SqlClient.SqlProvider.GetCachedResult(Expression query) +44 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) +91 System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute(Expression expression) +58 System.Linq.Queryable.First(IQueryable`1 source) +251 Updata.Page_Load(Object sender, EventArgs e) in e:\mywebs\Expelement\WebSet\Updata.aspx.cs:16 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51 System.Web.UI.Control.OnLoad(EventArgs e) +92 System.Web.UI.Control.LoadRecursive() +54 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772 |
if (!String.IsNullOrEmpty(Request.QueryString["CategoryId"])) {
string categoryId = Request.QueryString["CategoryId"];
var category = (from c in db.Category
where c.CategoryId == int.Parse(categoryId)
select c).First();
我也是个菜鸟,希望对你有用吧