我先说下要求吧。不能通过url传参,不能用session,cookie,也不能存到数据库。
我的页面的信息如下
a.aspx function Add() {
window.open("b.aspx" , "add", "height=200, width=300, top=200,left=350,toolbar=no, menubar=no, scrollbars=yes, resizable=no, location=no, status=no");
}
<a href="javascript:Add()">弹出框</a>|
而b.aspx页面就是一个gridview,如果我单击gridview的某一行,或者选中gridview中的多行的话,就会把选中的行的id传给a.aspx.
我知道可以通过js来做,但如果我a.aspx刷新一下的话,选择的项就没。我想要刷新后数据还会保存。
请问可以用什么方法。哪位大侠指引一下
我的页面的信息如下
a.aspx function Add() {
window.open("b.aspx" , "add", "height=200, width=300, top=200,left=350,toolbar=no, menubar=no, scrollbars=yes, resizable=no, location=no, status=no");
}
<a href="javascript:Add()">弹出框</a>|
而b.aspx页面就是一个gridview,如果我单击gridview的某一行,或者选中gridview中的多行的话,就会把选中的行的id传给a.aspx.
我知道可以通过js来做,但如果我a.aspx刷新一下的话,选择的项就没。我想要刷新后数据还会保存。
请问可以用什么方法。哪位大侠指引一下
a.aspx选中后,就把其id添加到父类的ArrayList,这样a.aspx也就能获取到id了。
但是感觉这样做起来有点大题小做了,请问有什么其他的方法吗,小弟谢谢各位了
server.transfer跳转,属性传值
postbackurl
{
if (e.CommandName == "up")
{
List<OrProduct> listProduct = (List<OrProduct>)Session["listProduct"];
for (int i = 0; i < listProduct.Count; i++)
{
if (listProduct[i].Product_Id== int.Parse(e.CommandArgument.ToString()))
{
TextBox tb = (TextBox)GridView1.Rows[i].Cells[1].FindControl("txtCount");
listProduct[i].orProduct_Count = int.Parse(tb.Text);
}
}
Session["listProduct"] = listProduct;
bind();
} if (e.CommandName == "del")
{
List<OrProduct> listProduct = (List<OrProduct>)Session["listProduct"];
for (int i = 0; i < listProduct.Count; i++)
{
if (listProduct[i].Product_Id == int.Parse(e.CommandArgument.ToString()))
{
listProduct.RemoveAt(i);
}
}
Session["listProduct"] = listProduct;
bind();
}
}
获取参数:
var obj=window.dialogArguments;
//或者
window.open("aaaa.aspx?id=1",'');
接收querystring