1

这是我的问题:

我无法显示数据库中的所有记录。
有错误提示
未将对象引用设置为对象的实例。

我真的不知道我将如何解决这个问题。

这是错误..

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();            
        }
    }
4

3 回答 3

2

如果没有ProjectID查询字符串参数传递给您在空实例上调用 .ToString 的请求。因此,请确保在调用页面时传递此查询字符串参数:/WebFormName.aspx?ProjectID=123

于 2012-09-24T06:21:15.587 回答
1

当您指定的参数没有在给定的url中传递时会出现此问题...确保指定的参数必须通过url传递...您可以通过以下方式检查请求是否包含给定的参数:

if(Request.QueryString["ProjectID"] !=null)
{
   strProjectID = Request.QueryString["ProjectID"].ToString();
}

如果你真的想要没有检查并且根本没有错误,你可以这样做:

 strProjectID = Convert.ToString(Request.QueryString["ProjectID"]);

empty string如果Querystring不包含,它将返回ProjectID

于 2012-09-24T06:23:45.610 回答
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();            
    }
}

说明:问题是QueryString 中可能不存在ProjectID 。因此,为了安全起见,最好有一个空检查。

于 2012-09-24T06:26:21.033 回答