asp.net 跨页面传值

来源:百度知道 编辑:UC知道 时间:2024/05/30 07:19:58
我用的是COOKIE方法传值.

我的程序是通过一个登陆页面若登陆成功即跳转到另一个用于显示个人信息的页面,需要从前一个登陆页面拿几值在这个个人信息页面显示.

现在有这个问题让我百思不得其解
若我用Response.Redirect("个人信息.aspx");这个指令跳转到下个页面,COOKIE传值不成功

若我用Response.Write("<script>window.open('个人信息.aspx');</script>");这个指令跳转,在VS2005的IIS上传值成功,但若用IE通过区名打开,又传不了值了

若我用Server.Transfer("个人信息.aspx");这个指令跳转,在VS和IE上都能传值成功,可问题是如果我跳转到第二个页面后按"刷新"按扭或后退重新登陆,传值又不成功了

登陆页面的程序如下:
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Login_Click(object sender, EventArgs e)
{
string connect = @"server=(local);database=Test-ASP;uid=sa;pwd=";
SqlConnection thisConnection = new SqlConnection(connect);
thisConnection.Open();
string sql = "select * from Login where 用户名 ='"+TextBox_ID.Text+"'" ;

SqlCommand thisComman

我觉得不可能是Response.Redirect("个人信息.aspx")和Response.Write("<script>window.open('个人信息.aspx');</script>");的问题。你可以在cookie.Values.Add("")后输出你赋值的cookie,然后加response.end()停止执行。看看cookie到底有没有赋值成功。然后在找原因。或者加断点,一步步执行找原因。

另提一个建议,你可以在 个人信息.aspx 加?name=xx 然后在个人信息.aspx页面获取name查询数据库然后直接给lable赋值不是更好吗?
你用cookie容易泄露信息。