请问各位大虾: 我在一个list.aspx页面中有一个数组ids[],这个页面里面有数据了。但是我想把这个数组传递到另外一个页面details.aspx。
用url来传递的话,由于参数太长了,很长的参数不适合使用url来传递。 但是应该怎么把长参数在页面之间传递呢? 用这样的····Details.aspx?id={0}···方法来传递的话,好像不行啊,因为这种方法好像只可以传递一个参数而已。 多谢了···········
用url来传递的话,由于参数太长了,很长的参数不适合使用url来传递。 但是应该怎么把长参数在页面之间传递呢? 用这样的····Details.aspx?id={0}···方法来传递的话,好像不行啊,因为这种方法好像只可以传递一个参数而已。 多谢了···········
abc = Sesion["a"]
设置属性,通过跨页属性取值
Session["a"] = ids;
details.aspx里面的代码:
string [] abc = (string[])Session["a"];
若你的数组是int,则传递:
int[] ids ={ 1, 2, 3 };
Session["str"] = ids;
Response.Redirect("aa.aspx?str=" + Session["str"].ToString());aa页面接受:
int[] ids = (int[])Session["str"];
for (int i = 0; i < ids.Length; i++)
{
Response.Write(ids[i].ToString());
}
session、cookies
cookie和session的用法很像...
最起码我们公司就不让用
你把数组转换成字符串
存到cookie中
然后取出来再分割成数组就OK了//往cookie中存入数组
protected void WriteInCookie()
{
string [] arr="你的数组";
string str ="";;
for (int i = 0; i < arr.Length; i++)
{
str =str + arr[i] + "," ;
}
str = str.TrimEnd(',');
HttpCookie aCookie = null;
if (HttpContext.Current.Request.Cookies["arr"] == null)
{
//如果Cookies中不存在arr,则创建
aCookie = new HttpCookie("arr");
}
else
{
//如果Cookies中存在arr,则清空
aCookie = HttpContext.Current.Request.Cookies["arr"];
aCookie.Value = null; }
aCookie.Value = str;
//设置cookie有效期为1天
aCookie.Expires = DateTime.Now.AddDays(1);
HttpContext.Current.Response.Cookies.Add(aCookie);
}
/// <summary>
/// 从cookie中取出数据
/// </summary>
protected void ReadCookie()
{
if (HttpContext.Current.Request.Cookies["arr"] != null)
{
dt = null;
BuildDataTables();
//如果Cookies中存在arr,则取出数据
HttpCookie aCookie = HttpContext.Current.Request.Cookies["arr"];
string cart = aCookie.Value;
string[] arr = cart.Split(',');
}
}