Button添加事件委托问题
页面上有一个Button和一个UpdatePanel,为什么需要点击两次Button,UpdatePanel才更新,而不是点击一次. 代码如下,帮帮忙解决.
- C# code
protected void Page_Load(object sender, EventArgs e) { this.bt.Click += new EventHandler(PanelUpdate); //添加事件委托 } void PanelUpdate(object sender, EventArgs e) { this.UpdatePanel1.Update(); } protected void bt_Click(object sender, EventArgs e) //Button点击事件 { ...... ///一些代码 }[解决办法]
你就不会把BUTTON的HTML里加上ONCLICK事件!!!!!
[解决办法]
onclientclick
[解决办法]
bt你给ID了没??如果没有那么就要点两次才会走。。。因为点第一次的时候程序会自动给bt赋个ID,然而不会走事件,所以需要点两次!!!
[解决办法]
设一下trigger
[解决办法]
...... ///一些代码
放到void PanelUpdate(object sender, EventArgs e)
{
this.UpdatePanel1.Update();
}
这个里
[解决办法]
调试下看 点击第一下 进没进入 PanelUpdate这个方法体中
如果没进入 说明第一次点击的 没响应 button事件
[解决办法]
UpdatePanel的UpdateModel修改下属性 试试
[解决办法]
protected void Page_Load(object sender, EventArgs e)
{
this.bt.Click += new EventHandler(PanelUpdate); //添加事件委托
}
这里加个 if(IsPostBack)看下!
因为你一提交页面又重新加方法了!
[解决办法]
LZ看了你的问题 要点击两次 意思就是点第二次才调用到委托
[解决办法]
protected void bt_Click(object sender, EventArgs e) //Button点击事件
{
...... ///一些代码
this.UpdatePanel1.Update();
}
[解决办法]
第一次注册事件,第二次才会触发事件 !
[解决办法]
其它问题先不说了,单就这个“刷新”的问题,我对你的代码做了一点修改。
首先对于Header.ascx.cs,我增加了两条代码,目的是抛出事件通知:
- C# code
public partial class Header : System.Web.UI.UserControl{ public event Action CodeSession_Changed; protected void search_Click(object sender, EventArgs e) { if (!this.TextBox1.Text.Equals("")) { Session["code"] = this.TextBox1.Text; if (this.CodeSession_Changed != null) this.CodeSession_Changed(); } }}
[解决办法]
wslxxd。。。