读书人

未将对象引用设置到对象的实例有关问题

发布时间: 2013-07-11 15:38:46 作者: rapoo

未将对象引用设置到对象的实例问题求教
想做一个跨页面查询,搜索页代码如下


if (TextBox1.Text == "")
{
Response.Write("<script>window.alert('请输入')</script>");
}
else
{
if (DropDownList1.SelectedValue.ToString() == "作者")
{
Session["b_name"] = this.TextBox1.Text;
}
else if (DropDownList1.SelectedValue.ToString() == "书名")
{
Session["b_zz"] = this.TextBox1.Text;
}
else if (DropDownList1.SelectedValue.ToString() == "ISBN")
{
Session["b_ISBN"] = this.TextBox1.Text;
}
Response.Redirect("Default5.aspx");
}



结果页代码

string strsql = "";
strsql = "SELECT * FROM Book WHERE 1=1";
if (Session["b_name"] != "")
{
strsql += " AND bookName like'%" + Session["b_name"].ToString() + "%' ";
}
if (Session["b_zz"] != "")
{
strsql += " AND author like'%" + Session["b_zz"].ToString() + "%' ";


}
if (Session["b_ISBN"] != "")
{
strsql += " AND ISBN like'%" + Session["b_ISBN"].ToString() + "%' ";
}
SqlDataSource1.SelectCommand = strsql;
GridView1.DataBind();



结果出现了在搜索页点击查询后,就会出现“未将对象引用设置到对象的实例”,结合百度搜到的,我个人觉得最有可能应该是session对象为空这样一种情况,但是不知道怎样改才能实现我想要的效果,希望大家能伴我看一下,指点指点,谢谢了
[解决办法]
Session["b_name"]
Session["b_zz"]
Session["b_ISBN"]

调试看下这几个中哪个为null了, 可能
[解决办法]
坑爹啊
Session["b_name"]!=null 先判断是不是存在该session
[解决办法]
Session["b_zz"] != ""

——》 Session["b_zz"] != null
[解决办法]
Session["b_zz"] != ""
不是这样判断Session是否为空。

改为这样试试:
Session["b_zz"] != null

其它session也是一样判断。
[解决办法]
引用:
Session["b_zz"] != ""
不是这样判断Session是否为空。

改为这样试试:
Session["b_zz"] != null

其它session也是一样判断。

+++
终于是获得了一个MVP,恭喜恭喜!

读书人网 >asp.net

热点推荐