建议去了解下页面的生命周期
http://msdn2.microsoft.com/zh-cn/library/ms178472(VS.80).aspx
http://msdn2.microsoft.com/zh-cn/library/ms178472(VS.80).aspx
解决方案 »
- 如何获取js脚本的返回值,并赋给服务器端控件??
- datagridview 第一列隐藏不了
- C#的winform如何实现打印超市类的小票?(打印机可能会用网络打印机)
- 如何手动抛出一个exception
- 按钮关联了一个右键菜单,如何使得在按钮上右键时,不出现菜单?
- 有人帮忙吗?谢谢你们了
- C# SLQ2005 这个错误怎么办呀!很怪!!
- 我在MouseEnter事件,奇怪问题??
- C#中如何向系统焦点窗口输出字符串?
- 关于在Visual C#中的FileStream类中的BeginRead和BeginWrite方法的问题????
- C#如何实现调用IE 并且隐藏掉地址栏
- 打开资源视图,里面是空的,这是怎么回事啊?
把操作放在
if(!Page.IsPostBack)
{
}
里
{
if (!Page.IsPostBack)
{
///把你的代码写在这里就可以了
}
}
private static int i;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
i = 1;
}
else
{
i = i + 1;
} UseSession();
} private void UseSession()
{
TextBox1.Text = Session["Default"].ToString() + i.ToString();
} private void AddCtrl()
{
CheckBox ckb = new CheckBox();
ckb.ID = "ckb-" + i.ToString();
ckb.Text = "ckb-" + i.ToString();
pnl.Controls.Add(ckb);
} protected void Button1_Click(object sender, EventArgs e)
{
AddCtrl();
Response.Clear();
Response.BufferOutput = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=Write.txt");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType = "application/ms-txt";
this.EnableViewState = false;
string wLine;
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
wLine = "时间:" + DateTime.Now.ToString() + "\r\n";
oStringWriter.Write(wLine);
wLine = "测试Response";
oStringWriter.Write(wLine);
Response.Write(oStringWriter.ToString());
Response.End();
}
这个测试的结果确实没有再现问题,又增加了新的疑问,我原有的解决方案中,确实不停的在回传执行pageload和onclick事件,而且当第一次单击按钮后,按照正常的顺序,执行pageload和onclick后,又回到pageload时捕捉到的session已经丢失了