这是我的问题:
我无法显示数据库中的所有记录。
有一个错误提示
对象引用未设置为对象的实例。
我真的不知道如何解决这个问题。
这是错误..
strProjectID = Request.QueryString["ProjectID"].ToString();
这是代码......
protected void Page_Load(object sender, EventArgs e)
{
strProjectID = Request.QueryString["ProjectID"].ToString();
if (JQGrid1.AjaxCallBackMode != AjaxCallBackMode.None)
{
// save the last grid state in session - to be used for exporting
Session["gridFilterPageState"] = JQGrid1.GetState();
}
}
答案 0 :(得分:2)
如果没有ProjectID
查询字符串参数传递给请求,则在空实例上调用.ToString。因此,请确保在调用页面时传递此查询字符串参数:/WebFormName.aspx?ProjectID=123
。
答案 1 :(得分:1)
当您在指定的url中未传递指定的参数时会发生此问题...请确保指定的参数必须通过url传递... 您可以通过以下方式检查请求是否包含给定参数:
if(Request.QueryString["ProjectID"] !=null)
{
strProjectID = Request.QueryString["ProjectID"].ToString();
}
如果你真的想要没有检查而且根本没有错误,你可以这样做:
strProjectID = Convert.ToString(Request.QueryString["ProjectID"]);
如果empty string
不包含Querystring
,则会返回ProjectID
答案 2 :(得分:0)
用下面这段代码替换你的代码。
protected void Page_Load(object sender, EventArgs e)
{
if(Request.QueryString["ProjectID"] != null)
{
strProjectID = Request.QueryString["ProjectID"].ToString();
}
if (JQGrid1.AjaxCallBackMode != AjaxCallBackMode.None)
{
// save the last grid state in session - to be used for exporting
Session["gridFilterPageState"] = JQGrid1.GetState();
}
}
说明:问题是 ProjectID 可能不存在于QueryString中。因此,为了安全起见,可以进行空检查。