button执行执行另一个button后台事件,并执行自己的后台事件

是这样的,我这里页面写出来这是为了演示,实际的情况是Button1和Button2在不同的用户控件中,通过页面动态加载进来,所以你不要发表出在Button1_Click写Button2_Click(null,null);这样的回答

代码:
<asp:Button ID="Button1" runat="server" Text="Button1"  
  onclick="Button1_Click" /><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  <asp:Button ID="Button2" runat="server" Text="Button2"  
  onclick="Button2_Click" /><asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
$(function() {
  $("#Button1").bind("click", function() {
  document.getElementById("Button2").click();
  });
  });
protected void Button1_Click(object sender, EventArgs e)
  {
  TextBox1.Text = new Random().Next(10000).ToString();
  }
  protected void Button2_Click(object sender, EventArgs e)
  {
  TextBox2.Text = new Random().Next(10000).ToString();
  }
就是单击Button1的时候,执行Button2的后台事件后,再执行Button1的后台事件
我现在是这样写的, 不同的浏览器运行效果还不一样呢
Firefox和Chrome执行了 Button2_Click
IE执行了Button1_Click
是什么原因呢,有没有办法在js中调用Button2的后台事件,执行Button2的后台事件,也执行Button1的后台事件

MMTTMM
浏览 677回答 2
2回答

倚天杖

你可以监控下生成的HTML代码,看下具体的执行。&nbsp;BUTTON1和BUTTON2都是RUNAT=SERVER的,所以,在执行它们的CLICK事件的时候,都会提交到服务器(POSTBACK)。区别应该是两种浏览器的处理方式。在FF中,执行BUTTON1的CLICK时,会先执行绑定的函数体,再执行.NET生成的代码,这样,BUTTON2“被”CLICK后POSTBACK,此时,原来的BUTTON1的CLICK事件就被忽略了(页面刷新了)而到了IE中,这个执行相反,就得到了不同的结果。&nbsp;以上是我的个人理解,分析下后台代码的执行顺序就能确认

慕运维8079593

如果你两个按钮都是服务端控件的话,每个按钮的事件都会引起服务端的相应,引起页面的回传,这样的话,你用JS脚本出发单击事件的逻辑从根本上好像就行不通的吧,考虑下其他办法呢?
打开App,查看更多内容
随时随地看视频慕课网APP