为什么会出现“未将对象引用设置到对象的实例” string a="bb"->string a="bb"; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 string a="bb";if(a.IndexOf("bb")>0){}应该没有错误 string a="bb";if(a.IndexOf("bb")>0){a="cc";}报错的是第二行 private void Form2_Activate(object sender, System.EventArgs e) { myForm myForm1=(myForm)LoadControl("myForm.ascx"); if(this.Request.ServerVariables["http_deviceid"]==null&this.Session["indexNum"]==null) { this.Session["indexNum"]="first"; this.RedirectToMobilePage("inputid.aspx"); } else { if(this.Request.ServerVariables["http_deviceid"]!=null&this.Session["indexNum"]==null) { //this.Session["deviceid"]=this.Request.ServerVariables["http_deviceid"]; this.Session["indexNum"]="first"; SqlCommand cmdGetID=new SqlCommand("getUserID",common.conn); common.conn.Close(); common.conn.Open(); cmdGetID.CommandType=CommandType.StoredProcedure; cmdGetID.Parameters.Add("@DeviceID",SqlDbType.BigInt); cmdGetID.Parameters["@DeviceID"].Value=Convert.ToInt32(this.Request.ServerVariables["http_deviceid"]); cmdGetID.Parameters.Add("@UserID",SqlDbType.BigInt); cmdGetID.Parameters["@UserID"].Direction=ParameterDirection.Output; cmdGetID.ExecuteNonQuery(); common.conn.Close(); if(cmdGetID.Parameters["@UserID"].Value.ToString()=="0") { string deviceid="Register.aspx?DeviceID="+this.Request.ServerVariables["http_deviceid"]; this.RedirectToMobilePage(deviceid); } else { this.Session["UserID"]=cmdGetID.Parameters["@UserID"].Value.ToString(); } } this.Session["indexNum"]="first"; this.Session["deviceid"]=this.Request.ServerVariables["http_deviceid"]; string mobileType="m3Gate"; this.Session["PicType"]="png"; if(this.Request["http_user_agent"]!=null) { mobileType=this.Request.QueryString["http_user_agent"]; int iNokia=mobileType.IndexOf("Nokia",0,1); int iMOT_v150=mobileType.IndexOf("Nokia"); int iSonyE=mobileType.IndexOf("SonyE"); if(iNokia>0||iMOT_v150>0||iSonyE>0) //就是这行报错 { this.Session["PicType"]="gif"; } } myForm1.ImageUrl="photo/logo/全菜单."+this.Session["PicType"]; if(this.Session["UserID"]==null) myForm1.info="欢迎你来,各大城市的奇人异事已为你搜罗好,城中热门资讯即时为你送上。请选择想要登录的区域,浏览其最新资讯,发表你的智慧之言。"; else myForm1.info="欢迎"+common.getCanshu(this.Session["UserID"].ToString(),"Nickname")+"你回来,各大城市的奇人异事已为你搜罗好,城中热门资讯即时为你送上。请选择想要登录的区域,浏览其最新资讯,发表你的智慧之言。"; this.sqlDataAdapter1.SelectCommand.Connection=common.conn; DataSet dsBBS=new DataSet(); common.conn.Open(); this.sqlDataAdapter1.Fill(dsBBS); common.conn.Close(); int i=0; int j=0; int count=dsBBS.Tables["BBS_list"].Rows.Count; //myList myList1=(myList)LoadControl("myList.ascx"); for(i=0;i<count;i++) { j=i+1; myForm1.ListAdd(); //myForm1.ListItem[i].AsLink=false; myForm1.ListItem[i].ImageUrl="photo/cathe/C0"+j.ToString()+".png"; myForm1.ListItem[i].LinkText=dsBBS.Tables["BBS_list"].Rows[i]["BBS"].ToString(); myForm1.ListItem[i].LinkUrl="titleList.aspx?BBS="+this.Server.UrlEncode(dsBBS.Tables["BBS_list"].Rows[i]["BBS"].ToString()); } myForm1.ListAdd(); myForm1.ListItem[i].LinkText="修改笔名"; myForm1.ListItem[i].LinkUrl="info.aspx"; } myForm1.backVisible=false; myForm1.indexVisible=false; this.Form2.Controls.Add(myForm1); } mobileType=this.Request.QueryString["http_user_agent"];mobileType在使用前要先判断是否为null this.Request.QueryString["http_user_agent"];这句出的错,估计http_user_agent这个参数没值; this.Request.QueryString["http_user_agent"];是null值 我已经做了判断了啊。。this.Request.QueryString["http_user_agent"]!=null的时候才做以下的if(this.Request["http_user_agent"]!=null) { mobileType=this.Request.QueryString["http_user_agent"]; int iNokia=mobileType.IndexOf("Nokia",0,1); int iMOT_v150=mobileType.IndexOf("Nokia"); int iSonyE=mobileType.IndexOf("SonyE"); if(iNokia>0||iMOT_v150>0||iSonyE>0) //就是这行报错 { this.Session["PicType"]="gif"; } }我把以下代码删除就没事了(iNokia>0||iMOT_v150>0||iSonyE>0) //就是这行报错 { this.Session["PicType"]="gif"; } 设断点跟踪一下mobileType,iNokiaiMOT_v150,iSonyE, (iNokia>0||iMOT_v150>0||iSonyE>0) 你那个变量为空了!先判断出错的变量是否为null 引用了一个没有初始化或为null值的对象 int iSonyE=mobileType.IndexOf("SonyE"); if(iNokia>0||iMOT_v150>0||iSonyE>0) //就是这行报错 { this.Session["PicType"]="gif"; } }如果mobileType为空,就会出错 Sendy 啊非进 用过thickbox的进来看看,为啥我loadingAnimation.gif显示不出? 关于新闻发布系统的 HtmlTable传值 急求 5张表同时查询,统计回复数,最后显示结果??? 如何实现以下查询功能 asp.net mvc 提交含有html标记的内容被阻拦。 ado.net中OleDb.OleDbDataAdapter不能用嵌套的sql语句么? 模糊查询 同一个服务器内MVC和winform程序应该怎么通讯 .net的arraylist里面有没有像java里面的迭代器这样的方法 怎么下载的二进制转换文件的文件名是乱码?
if(a.IndexOf("bb")>0)
{
}
应该没有错误
if(a.IndexOf("bb")>0)
{
a="cc";
}
报错的是第二行
{
myForm myForm1=(myForm)LoadControl("myForm.ascx");
if(this.Request.ServerVariables["http_deviceid"]==null&this.Session["indexNum"]==null)
{
this.Session["indexNum"]="first";
this.RedirectToMobilePage("inputid.aspx");
}
else
{
if(this.Request.ServerVariables["http_deviceid"]!=null&this.Session["indexNum"]==null)
{
//this.Session["deviceid"]=this.Request.ServerVariables["http_deviceid"];
this.Session["indexNum"]="first";
SqlCommand cmdGetID=new SqlCommand("getUserID",common.conn);
common.conn.Close();
common.conn.Open();
cmdGetID.CommandType=CommandType.StoredProcedure;
cmdGetID.Parameters.Add("@DeviceID",SqlDbType.BigInt);
cmdGetID.Parameters["@DeviceID"].Value=Convert.ToInt32(this.Request.ServerVariables["http_deviceid"]);
cmdGetID.Parameters.Add("@UserID",SqlDbType.BigInt);
cmdGetID.Parameters["@UserID"].Direction=ParameterDirection.Output;
cmdGetID.ExecuteNonQuery();
common.conn.Close();
if(cmdGetID.Parameters["@UserID"].Value.ToString()=="0")
{
string deviceid="Register.aspx?DeviceID="+this.Request.ServerVariables["http_deviceid"];
this.RedirectToMobilePage(deviceid);
}
else
{
this.Session["UserID"]=cmdGetID.Parameters["@UserID"].Value.ToString();
} }
this.Session["indexNum"]="first";
this.Session["deviceid"]=this.Request.ServerVariables["http_deviceid"];
string mobileType="m3Gate";
this.Session["PicType"]="png";
if(this.Request["http_user_agent"]!=null)
{
mobileType=this.Request.QueryString["http_user_agent"];
int iNokia=mobileType.IndexOf("Nokia",0,1);
int iMOT_v150=mobileType.IndexOf("Nokia");
int iSonyE=mobileType.IndexOf("SonyE");
if(iNokia>0||iMOT_v150>0||iSonyE>0) //就是这行报错
{
this.Session["PicType"]="gif";
}
}
myForm1.ImageUrl="photo/logo/全菜单."+this.Session["PicType"];
if(this.Session["UserID"]==null)
myForm1.info="欢迎你来,各大城市的奇人异事已为你搜罗好,城中热门资讯即时为你送上。请选择想要登录的区域,浏览其最新资讯,发表你的智慧之言。";
else
myForm1.info="欢迎"+common.getCanshu(this.Session["UserID"].ToString(),"Nickname")+"你回来,各大城市的奇人异事已为你搜罗好,城中热门资讯即时为你送上。请选择想要登录的区域,浏览其最新资讯,发表你的智慧之言。";
this.sqlDataAdapter1.SelectCommand.Connection=common.conn;
DataSet dsBBS=new DataSet();
common.conn.Open();
this.sqlDataAdapter1.Fill(dsBBS);
common.conn.Close();
int i=0;
int j=0;
int count=dsBBS.Tables["BBS_list"].Rows.Count;
//myList myList1=(myList)LoadControl("myList.ascx");
for(i=0;i<count;i++)
{
j=i+1;
myForm1.ListAdd();
//myForm1.ListItem[i].AsLink=false;
myForm1.ListItem[i].ImageUrl="photo/cathe/C0"+j.ToString()+".png";
myForm1.ListItem[i].LinkText=dsBBS.Tables["BBS_list"].Rows[i]["BBS"].ToString();
myForm1.ListItem[i].LinkUrl="titleList.aspx?BBS="+this.Server.UrlEncode(dsBBS.Tables["BBS_list"].Rows[i]["BBS"].ToString());
}
myForm1.ListAdd();
myForm1.ListItem[i].LinkText="修改笔名";
myForm1.ListItem[i].LinkUrl="info.aspx";
}
myForm1.backVisible=false;
myForm1.indexVisible=false;
this.Form2.Controls.Add(myForm1);
}
mobileType在使用前要先判断是否为null
这句出的错,估计http_user_agent这个参数没值;
是null值
的时候才做以下的
if(this.Request["http_user_agent"]!=null)
{
mobileType=this.Request.QueryString["http_user_agent"];
int iNokia=mobileType.IndexOf("Nokia",0,1);
int iMOT_v150=mobileType.IndexOf("Nokia");
int iSonyE=mobileType.IndexOf("SonyE");
if(iNokia>0||iMOT_v150>0||iSonyE>0) //就是这行报错
{
this.Session["PicType"]="gif";
}
}
我把以下代码删除就没事了
(iNokia>0||iMOT_v150>0||iSonyE>0) //就是这行报错
{
this.Session["PicType"]="gif";
}
mobileType,iNokiaiMOT_v150,iSonyE, (iNokia>0||iMOT_v150>0||iSonyE>0)
先判断出错的变量是否为null
if(iNokia>0||iMOT_v150>0||iSonyE>0) //就是这行报错
{
this.Session["PicType"]="gif";
}
}
如果mobileType为空,就会出错