public partial class _Default : System.Web.UI.Page
{
public Boolean b1 = false; protected void Page_Load(object sender, EventArgs e)
{ if (b1)
{
加载事件...
}
} protected void Open_Click(object sender, EventArgs e)
{
... if(..)
{
b1 = true;
}
else {
b1 = false;
}
}
}
我想知道在Open_Click()里面b1变成true以后,为什么到了Page_Load()里面还是false,是不是每次页面重新加载的时候b1都会重新初始化?
{
public Boolean b1 = false; protected void Page_Load(object sender, EventArgs e)
{ if (b1)
{
加载事件...
}
} protected void Open_Click(object sender, EventArgs e)
{
... if(..)
{
b1 = true;
}
else {
b1 = false;
}
}
}
我想知道在Open_Click()里面b1变成true以后,为什么到了Page_Load()里面还是false,是不是每次页面重新加载的时候b1都会重新初始化?
解决方案 »
- CSLA中修改数据的问题
- 如何遍历二维数组啊???
- winform:两个datagridview的水平或垂直滚动条,当其中一个滚动,另外一个也同样滚动,而且滚动的值也一样?
- C# 控制台问的一个问题
- 如何识别一个CSV文件是否合法
- 那个大哥帮我解释几行用ildasm.exe反编译的代码????
- 索引??? 始终搞不明白!!!
- visual studio.net 已检测到指定的web服务器运行的不是ASP.net 1.1版本--相关的问题
- c# treeview
- 求助!实现winform与webform即时通讯的思路及使用的技术!
- 高手快来!!已经研究几天,实在没办法了才发贴。关于c#全局键盘钩子
- 在C#中如何利用快捷键来调出对话框
你写成这样。。public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!Ispostback)
{
public Boolean b1 = false; if (b1)
{
加载事件...
}
}
{ protected void Page_Load(object sender, EventArgs e)
{ if (ViewState["b1"]!=null && ((bool)ViewState["b1"]))
{
//加载事件...
}
} protected void Open_Click(object sender, EventArgs e)
{
... if(..)
{
ViewState["b1"] = true;
}
else {
ViewState["b1"] = false;
}
}
}
protected void Page_Load(object sender, EventArgs e)
{
AddButton();
}
private void AddButton()
{
if (this.ViewState["aa"] != null && this.ViewState["aa"].ToString() == "1")
{
Button btn = new Button();
btn.ID = "btn";
btn.Text = "btn";
btn.CommandArgument = "aaaaaaaaa";//可以在事件中得到的值
btn.Command += new CommandEventHandler(btn_Command);
this.p1.Controls.Add(btn);
}
}
private void AddButton2()
{
//移除pgeg_load内生成的
if (this.p1.FindControl("btn") != null)
{
this.p1.Controls.Remove(this.p1.FindControl("btn"));
}
//重新生成
AddButton();
} void btn_Command(object sender, CommandEventArgs e)
{
//e.CommandArgument.ToString()为btn.CommandArgument的值
//....
Response.Write(e.CommandArgument.ToString());
}
protected void btn1_Click(object sender, EventArgs e)
{
if (this.txt1.Text.Trim() == "1")
{
this.ViewState.Add("aa", "1");
}
else
{
this.ViewState.Add("aa", "0");
}
AddButton2();
}
{}此判断不可缺少!
{}就是区别是不是Postback,如果是第一次加载页面就不是Postback,这个if语句里面的才会执行。
是的 每次点击以后,都是Page页面一个新的实例 可以写一个简单的事例测试一下
//代码随手写的 未测
public partial class _Default : System.Web.UI.Page
{
private date;
protected void Page_Load(object sender, EventArgs e)
{
if(date==null)
{
date=DateTime.now;
Response.Write("第一次加载。 " + date.ToString());
}
else
{
Response.Write("响应回发 " + date.ToString());
}
}
}
//代码随手写的 未测
public partial class _Default : System.Web.UI.Page
{
private string date;//上面漏了个string
protected void Page_Load(object sender, EventArgs e)
{
if(date==null)
{
date=DateTime.now;
Response.Write("第一次加载。 " + date.ToString());
}
else
{
Response.Write("响应回发 " + date.ToString());
}
}
}
//代码随手写的 未测
public partial class _Default : System.Web.UI.Page
{
private string date;//上面漏了个string 加上string 下面也要改了
protected void Page_Load(object sender, EventArgs e)
{
if(date==null)
{
date=DateTime.now.ToString("yyyy-mm-dd hh:mm:ss");
Response.Write("第一次加载。 " + date);
}
else
{
Response.Write("响应回发 " + date);
}
}
}