private string a;
private void Page_Load(object sender, System.EventArgs e)
{
a = "yxz";
} private void Button1_Click(object sender, System.EventArgs e)
{
Response.Write(a);
} private void Button2_Click(object sender, System.EventArgs e)
{
a = "wcf";
Response.Write(a);
}
为什么在Button1_click里总写出来“yxz”呢 不管点多少次Button2_Click
private void Page_Load(object sender, System.EventArgs e)
{
a = "yxz";
} private void Button1_Click(object sender, System.EventArgs e)
{
Response.Write(a);
} private void Button2_Click(object sender, System.EventArgs e)
{
a = "wcf";
Response.Write(a);
}
为什么在Button1_click里总写出来“yxz”呢 不管点多少次Button2_Click
解决方案 »
- gridview 双列显示
- 求解这个三联动的问题(ASP.NET C# )
- 问候大家了 : ),我想合并两个Excel表,应该怎么做呀(这两个Excel表有相同的结构).来了就是客...倒茶 呵呵
- 如何在DropDownList绑定的所有项上面再加一行数据?看看我这个应该怎么改。
- 怎么样获取 datagrid 每列的数据类型 数据是数据库邦定的
- 真心的等待大家的没一刻
- 小女子求高人指点一个正则表达式!!!!
- 求助: 遇到两个两个问题
- VBC编译时问题,请高手帮帮我!急,在线等,谢谢大家帮我
- 我是新手!我想学习ASP.NET技术,求助!
- apache和IIS服务器可以同时安装在一台机器上吗?
- asp.net项目,要把session超时的时间设长一点,要在哪里设啊
每次按按钮之后,服务器都产生一个新的类。
Button2_Click 就输出"wcf" 跟楼主的不一样呀
{
if(!IsPostBack)a = "yxz";
}
if(!IsPostback)
{
a = "yxz";}
因爲按鈕事件后先刷新頁面,調用page_load()函數的
你可以在page_load()裏設置一個斷點,單步跟蹤即可知道原理
上面的IsPostback可能拼寫有誤,你打個this.后找一下吧
为什么在Button1_click里总写出来“yxz”呢
private string a;
private void Page_Load(object sender, System.EventArgs e)
{
} private void Button1_Click(object sender, System.EventArgs e)
{
a = "yxz";
Response.Write(a);
} private void Button2_Click(object sender, System.EventArgs e)
{
a = "wcf";
Response.Write(a);
}
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.Load += new System.EventHandler(this.Page_Load);}
看看上面的,是不是没有下面的语句
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Button2.Click += new System.EventHandler(this.Button2_Click);
没有的话加上去,有的话,可能就是别的问题.
private void Button1_Click(object sender, System.EventArgs e)
{
Response.Write(a);
} private void Button2_Click(object sender, System.EventArgs e)
{
a = "wcf";
Response.Write(a);
}
点完button2_click...,在点button1_click1为什么不写"wcf"而写出来空
这个跟WIN编程不一样。
实在要用的话放SESSION里啊。
{
if(!IsPostBack)a = "yxz";
}
如果把a = ...
放在 page_load里 ,
因为每次button_click 会传给服务器都会先执行page_load当然是yxz
放在
(!IsPostBack) 中由于b/s的无状态问题会是 null记录在viewstate里,或者直接用viewstate
你点一下按钮他就刷新一次,就会执行一次Page_Load(),不知我讲的对不对
在每一次客户端到服务器端的请求中,服务器端的工作如下:1)为page创建一个类实例,
2) page_init();//初始化页面控件
.....//还有一些其它事件处理方法,一共大约十几个
n) page_load();//加载页面
.......//
n+n) button_click();//单击按钮的事件处理方法
.....
n+n+n) 删除类实例
private string a;
private void Page_Load(object sender, System.EventArgs e)
if(!IsPostback)
{
a = "yxz"; }
private void Button1_Click(object sender, System.EventArgs e)
{
a = Session["a"];
Response.Write(a);
Session["a"] = a;
} private void Button2_Click(object sender, System.EventArgs e)
{
a = "wcf";
Response.Write(a);
Session["a"] = a;
}
{
if(!IsPostBack)
{
a = "yxz";
}
}
{
a = "yxz";
}当单击按钮postback后,就不会给a 赋值,Button1_click就不会打出“yxz”了。但即使上次点了Button2,点Button1_click也不会打出“wcf”的。除非把a的值存起来。