【提问】Page_Load事件中取出Session的值赋给TextBox(C#)
两个文本框,txb1 和 txb2;
一个按钮,btn;
从btn单击事件中,将 txb1.Text 的值赋给Session;
从Page_Load事件中,可以将 Session 的值赋给 txb2.Text,而不能赋给 txb1.Text;
一旦在Page_Load事件中将 Session 的值赋给 txb1.Text,就会导致 Session清空,并且 再赋给 txb2.Text 都不可以。
请问这是怎么回事,如何解决?
Visual Studio 2005
一个按钮,btn;
从btn单击事件中,将 txb1.Text 的值赋给Session;
从Page_Load事件中,可以将 Session 的值赋给 txb2.Text,而不能赋给 txb1.Text;
一旦在Page_Load事件中将 Session 的值赋给 txb1.Text,就会导致 Session清空,并且 再赋给 txb2.Text 都不可以。
请问这是怎么回事,如何解决?
Visual Studio 2005
...全文
请发表友善的回复…
发表回复
chinaicm 2008-07-03
- 打赏
- 举报
没关系,我也是刚刚到CSDN报道,以后请教大家的地方多的了.
柳晛 2008-07-03
- 打赏
- 举报
[Quote=引用 26 楼 chinaicm 的回复:]
提交页: 在page_load里没有判断IsPostBack.
C# code
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
txbY.Text = Convert.ToString(Session["Name"]);
}
}
[/Quote]
终于解决了,谢谢您,但是我刚结贴,没能给您分了。
对不起。
提交页: 在page_load里没有判断IsPostBack.
C# code
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
txbY.Text = Convert.ToString(Session["Name"]);
}
}
[/Quote]
终于解决了,谢谢您,但是我刚结贴,没能给您分了。
对不起。
chinaicm 2008-07-03
- 打赏
- 举报
提交页: 在page_load里没有判断IsPostBack.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
txbY.Text = Convert.ToString(Session["Name"]);
}
}
fsy123456accp 2008-07-03
- 打赏
- 举报
那就没有正确答案结贴吧 呵呵
柳晛 2008-07-03
- 打赏
- 举报
难道就这样结贴吗?
这个问题没有办法解决?
这个问题没有办法解决?
柳晛 2008-07-02
- 打赏
- 举报
问题尚未解决。
柳晛 2008-07-01
- 打赏
- 举报
[Quote=引用 19 楼 liubin911 的回复:]
string url = " <meta http-equiv=\"refresh\" content=\"1;url=" + Convert.ToString(Session["URL"]) + "\">";
Response.Write(url);
在调回Default页时 txbY.Text = Convert.ToString(Session["Name"]);
这设个断点看看,取值是多少,在改成赋值另外那个,看看你能赋值上的那个textbox 取值session的值是多少
[/Quote]
和普通页面测试的一样,赋给其它的就有值,付给自己就没值。
string url = " <meta http-equiv=\"refresh\" content=\"1;url=" + Convert.ToString(Session["URL"]) + "\">";
Response.Write(url);
在调回Default页时 txbY.Text = Convert.ToString(Session["Name"]);
这设个断点看看,取值是多少,在改成赋值另外那个,看看你能赋值上的那个textbox 取值session的值是多少
[/Quote]
和普通页面测试的一样,赋给其它的就有值,付给自己就没值。
DongloveRen 2008-06-27
- 打赏
- 举报
学习!
liubin911 2008-06-27
- 打赏
- 举报
[Quote=引用 15 楼 huming_h 的回复:]
上面的代码有点汗。Session["userLogin"]==null
都等于null了还赋值给txb1.text
[/Quote]
代码我现写的,难免有些不注意什么地方写错了,但是 是个人就知道哪里怎么回事。没人会吧代码原封不动的用吧
上面的代码有点汗。Session["userLogin"]==null
都等于null了还赋值给txb1.text
[/Quote]
代码我现写的,难免有些不注意什么地方写错了,但是 是个人就知道哪里怎么回事。没人会吧代码原封不动的用吧
liubin911 2008-06-27
- 打赏
- 举报
string url = "<meta http-equiv=\"refresh\" content=\"1;url=" + Convert.ToString(Session["URL"]) + "\">";
Response.Write(url);
在调回Default页时 txbY.Text = Convert.ToString(Session["Name"]);
这设个断点看看,取值是多少,在改成赋值另外那个,看看你能赋值上的那个textbox 取值session的值是多少
Response.Write(url);
在调回Default页时 txbY.Text = Convert.ToString(Session["Name"]);
这设个断点看看,取值是多少,在改成赋值另外那个,看看你能赋值上的那个textbox 取值session的值是多少
柳晛 2008-06-27
- 打赏
- 举报
我的代码是这样的:
提交页:
跳转页:
将Session赋给自己,怎么试都不成功;
是赋给另一个TextBox就可以。
提交页:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
txbY.Text = Convert.ToString(Session["Name"]);
}
protected void btn_Click(object sender, EventArgs e)
{
Session["Name"] = txbY.Text.Trim();
Session["URL"] = "Default.aspx";
Response.Redirect("UnBack.aspx");
}
跳转页:
private void UnBack() // 防后退函数,强制不缓存页面。
{
Response.Buffer = true;
Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);
Response.Expires = 0;
Response.CacheControl = "no-cache";
}
protected void Page_Load(object sender, EventArgs e)
{
UnBack(); // 防后退,放在 page_load 里面。
string url = "<meta http-equiv=\"refresh\" content=\"1;url=" + Convert.ToString(Session["URL"]) + "\">";
Response.Write(url);
}
将Session赋给自己,怎么试都不成功;
是赋给另一个TextBox就可以。
QQQQAnnie 2008-06-26
- 打赏
- 举报
第二个页面
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("~/Web/ButtonAndSession.aspx");
}
第一个页面的传值只是为了验证看看是否像你说的Session值丢了。
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("~/Web/ButtonAndSession.aspx");
}
第一个页面的传值只是为了验证看看是否像你说的Session值丢了。
QQQQAnnie 2008-06-26
- 打赏
- 举报
第一个页面
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
if (Session["TextBox1"] != null)
{
TextBox1.Text = Session["TextBox1"].ToString();
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text != string.Empty)
{
Session["TextBox1"] = TextBox1.Text;
Response.Redirect("~/Web/AutoGridView.aspx?TextBox1="
+ Session["TextBox1"].ToString());
}
}
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
if (Session["TextBox1"] != null)
{
TextBox1.Text = Session["TextBox1"].ToString();
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text != string.Empty)
{
Session["TextBox1"] = TextBox1.Text;
Response.Redirect("~/Web/AutoGridView.aspx?TextBox1="
+ Session["TextBox1"].ToString());
}
}
huming_h 2008-06-26
- 打赏
- 举报
上面的代码有点汗。Session["userLogin"]==null
都等于null了还赋值给txb1.text
都等于null了还赋值给txb1.text
liubin911 2008-06-26
- 打赏
- 举报
写错了,判断那句是!=
//生成session
Session["userLogin"] = txb1.Text ;
Response.Redirect("jump.aspx");
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
if(Session["userLogin"]!=null)
{
txb1.Text = Session["userLogin"].ToString();
}
}
}
liubin911 2008-06-26
- 打赏
- 举报
贴出代码看看,就是赋值问题怎么会不行,看看session传换成字符串没
//生成session
Session["userLogin"] = txb1.Text ;
Response.Redirect("jump.aspx");
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
if(Session["userLogin"]==null)
{
txb1.Text = Session["userLogin"].ToString();
}
}
}
柳晛 2008-06-26
- 打赏
- 举报
[Quote=引用 9 楼 QQQQAnnie 的回复:]
你这有点像绕口令。你就说你要实现什么样的功能吧?
[/Quote]
“页面1”提交成功→跳到“防后退页”→由“防后退页”跳回“页面1”
需要:将“页面1”txb1.Text的数据通过跳转,依然还在txb1.Text中。
你这有点像绕口令。你就说你要实现什么样的功能吧?
[/Quote]
“页面1”提交成功→跳到“防后退页”→由“防后退页”跳回“页面1”
需要:将“页面1”txb1.Text的数据通过跳转,依然还在txb1.Text中。
柳晛 2008-06-26
- 打赏
- 举报
流程:
1、单击btn按钮,提交数据;
2、将txb1.Text的值取出,放入Session;
3、跳转到“提交成功,请稍候”页面,防后退功能。
4、由跳转页再跳回本页面。
5、将刚才Session值再给txb1.Text,因为这个文本框中的内容需要重复利用,我不想让使用者重新输入。
1、单击btn按钮,提交数据;
2、将txb1.Text的值取出,放入Session;
3、跳转到“提交成功,请稍候”页面,防后退功能。
4、由跳转页再跳回本页面。
5、将刚才Session值再给txb1.Text,因为这个文本框中的内容需要重复利用,我不想让使用者重新输入。
QQQQAnnie 2008-06-26
- 打赏
- 举报
你这有点像绕口令。你就说你要实现什么样的功能吧?
柳晛 2008-06-26
- 打赏
- 举报
流程:
1、单击btn按钮,提交数据;
2、将txb1.Text的值取出,放入Session;
3、跳转到“提交成功,请稍候”页面,防后退功能。
4、将刚才Session值再给txb1.Text,因为这个文本框中的内容需要重复利用,我不想让使用者重新输入。
1、单击btn按钮,提交数据;
2、将txb1.Text的值取出,放入Session;
3、跳转到“提交成功,请稍候”页面,防后退功能。
4、将刚才Session值再给txb1.Text,因为这个文本框中的内容需要重复利用,我不想让使用者重新输入。
加载更多回复(7)