private void Page_Load(object sender, System.EventArgs e)
{ if(!IsPostBack)
{
ViewState["Sort"] = "";
ViewState["sSqlIf"] = "";
if(Request["SqlIF"].ToString() != "")
ViewState["sSqlIf"] = "and" + Request["SqlIF"].ToString(); get_Data();
Palstat.Text = "0";
LabType.Text = "0";运行上面这段代码时会出现
if(Request["SqlIF"].ToString() != "")未将对象引用设置到对象的实例
要怎样修改,这一句是什么意思
ViewState["sSqlIf"] = "";又是什么意思

解决方案 »

  1.   

    Request["SqlIF"]根本不存在的时候就有这个错误。
    ViewState["sSqlIf"] 用来保存一下字符串
      

  2.   

    Request["SqlIF"]
    这个东西为null,所以你tostring的时候会报错
    至于viewstate请去google搜索.
      

  3.   

    你可以改成这样的:
    if(Request["SqlIF"]!=null)
    ViewState["sSqlIf"] = "and" + Request["SqlIF"].ToString();
      

  4.   

    --if(Request["SqlIF"].ToString() != "")该为:
    if(Request["SqlIF"]+"ab" != "ab")
      

  5.   

    ViewState可以简单的理解为用来暂时保存页内状态、数据的东西在使用之前应该都要判断是否为空。个人观点...
      

  6.   

    不要ToString()~~if(Request["SqlIF"]!= "" && Request["SqlIF"]!= null)另外关于ViewState在你另外的帖子里回复过了..ViewState页面变量,可以把它看成是类似以前ASP中的hidden..也可以看做是当前页面中的Session..在页面中尽量少使用ViewState..影响性能..一般的用处是在做CustomControl的时候比较多