是這樣的,我這里頁面寫出來這是為了演示,實際的情況是Button1和Button2在不同的用戶控件中,通過頁面動態(tài)加載進來,所以你不要發(fā)表出在Button1_Click寫B(tài)utton2_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的時候,執(zhí)行Button2的后臺事件后,再執(zhí)行Button1的后臺事件我現(xiàn)在是這樣寫的, 不同的瀏覽器運行效果還不一樣呢Firefox和Chrome執(zhí)行了 Button2_ClickIE執(zhí)行了Button1_Click是什么原因呢,有沒有辦法在js中調(diào)用Button2的后臺事件,執(zhí)行Button2的后臺事件,也執(zhí)行Button1的后臺事件
2 回答

倚天杖
TA貢獻1828條經(jīng)驗 獲得超3個贊
你可以監(jiān)控下生成的HTML代碼,看下具體的執(zhí)行。
BUTTON1和BUTTON2都是RUNAT=SERVER的,所以,在執(zhí)行它們的CLICK事件的時候,都會提交到服務器(POSTBACK)。
區(qū)別應該是兩種瀏覽器的處理方式。
在FF中,執(zhí)行BUTTON1的CLICK時,會先執(zhí)行綁定的函數(shù)體,再執(zhí)行.NET生成的代碼,這樣,BUTTON2“被”CLICK后POSTBACK,此時,原來的BUTTON1的CLICK事件就被忽略了(頁面刷新了)
而到了IE中,這個執(zhí)行相反,就得到了不同的結(jié)果。
以上是我的個人理解,分析下后臺代碼的執(zhí)行順序就能確認

慕運維8079593
TA貢獻1876條經(jīng)驗 獲得超5個贊
如果你兩個按鈕都是服務端控件的話,每個按鈕的事件都會引起服務端的相應,引起頁面的回傳,這樣的話,你用JS腳本出發(fā)單擊事件的邏輯從根本上好像就行不通的吧,考慮下其他辦法呢?
- 2 回答
- 0 關(guān)注
- 690 瀏覽
添加回答
舉報
0/150
提交
取消