[英]Buttons in updatepanel with timer doesn't work
我有這個代碼。 當我單擊任何按鈕都不起作用。 我希望所有按鈕都運行EventHandler(Button1_Click)。 我曾嘗試使用多個AsyncPostBackTrigger,但是計時器方法卡住了。
public DataTable data1 = new DataTable();
protected void Timer1_Tick(object sender, EventArgs e){
MySqlConnection con = openconnection();
MySqlDataAdapter sda1 = new MySqlDataAdapter("SELECT id FROM orderprogress WHERE Order=0;", con);
sda1.Fill(data1);
for (int i = 0; i < data1.Rows.Count; i++){
TableRow row = new TableRow();
TableCell cell1 = new TableCell();
cell1.Text = data1.Rows[i][0].ToString();
row.Cells.Add(cell1);
Table1.Rows.Add(row);
insertbuttons(i);
}
}
void insertbuttons(int i){
Button btn = new Button();
btn.ID = data1.Rows[i][0].ToString();
btn.Text = "Apply!";
btn.Click += new EventHandler(Button1_Click);
TableRow row1 = new TableRow();
TableCell cell2 = new TableCell();
row1.Cells.Add(cell2);
Table1.Rows[i].Cells[1].Controls.Add(btn);
}
protected void Button1_Click(object sender, EventArgs e){
orderidlb.Text = "button pressed";
}
這是我使用的asp代碼:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Interval="10"></asp:Timer>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" AutoPostBack="True" UpdateMode="Conditional" ChildrenAsTriggers="true">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
<ContentTemplate>
<asp:Table ID="Table1" runat="server">
<asp:TableRow>
<asp:TableCell>ID</asp:TableCell>
<asp:TableCell>test BTN!</asp:TableCell>
</asp:TableRow>
</asp:Table>
</ContentTemplate>
</asp:UpdatePanel>
有點晚了,但到目前為止,我發現直到定時器的間隔完成后按鈕才會觸發,但是如果您的間隔太短,則間隔會在按鈕完全觸發之前再次觸發,從而使按鈕失效按鈕單擊。 您的計時器每1/100秒就會滴答一聲,太快了。 嘗試增加到1秒(Interval =“ 1000”),我想您會發現您的按鈕有效。 如果將間隔增加得太遠(例如10秒),則將單擊該按鈕,似乎什么也不會發生,但是大約10秒后該命令將觸發。 行為怪異,我仍在嘗試找到即時解決方案,但這是我在此過程中得到的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.