问题是这样的:
在A页面有一个GridView,有一个HyperLinkField列通过A页面的GridView的DataKeysName转到B页面,在B页面通过Request取到A页面传来的DataKeysName,当B页面转到C页面后再转回到B页面时,B就得不到本来的那个DataKeysName了,然后程序就报错"未将对象引用设置到对象的实例。"
以下是B页面的部分代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindToGVList();
}
}
protected void BindToGVList()
{
string PK_Project = Request["PK_Project"].ToString(); //A页面传来的DataKeysName
string sqlstr = "select * from ProjectList where PK_Project='" + PK_Project + "'";
gvList.DataKeyNames = new string[] { "PK_ProjectList" };
sqloperate.gvDataBind(gvList, sqlstr);
}
在A页面有一个GridView,有一个HyperLinkField列通过A页面的GridView的DataKeysName转到B页面,在B页面通过Request取到A页面传来的DataKeysName,当B页面转到C页面后再转回到B页面时,B就得不到本来的那个DataKeysName了,然后程序就报错"未将对象引用设置到对象的实例。"
以下是B页面的部分代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindToGVList();
}
}
protected void BindToGVList()
{
string PK_Project = Request["PK_Project"].ToString(); //A页面传来的DataKeysName
string sqlstr = "select * from ProjectList where PK_Project='" + PK_Project + "'";
gvList.DataKeyNames = new string[] { "PK_ProjectList" };
sqloperate.gvDataBind(gvList, sqlstr);
}
gvProjectList.DataKeyNames = new string[] { "PK_Project" };
到了B页面用
string PK_Project = Request["PK_Project"].ToString();
取值
我从C转到B的时候,这个PK_Project值是多少已经不知道了,怎么办?
真解决不了,你就麻烦点 用 session保存数组 这样保险 不过不推荐
那这样就不会出现错误!
呵呵