2017-04-12 6 views
0

私はこのコードを持っています。いずれかのボタンをクリックしても機能しません。私はすべてのボタンを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> 
+0

ボタンでAutoPostBack = "true"を試しましたか? – Seano666

答えて

0

を、これまでのところ、タイマーの間隔が完了するまでボタンは発生しませんので、私を見つけたが、あなたの場合間隔が小さすぎると、ボタンが完全に発射される前に間隔が再び発生し、ボタンのクリックが無効になります。あなたのタイマーは毎秒100分の1秒ごとに刻々と変化しています。これはあまりにも高速です。 1秒(Interval = "1000")に増やしてみてください。ボタンが機能していると思います。間隔をあまりに大きくすると、たとえば10秒のように、ボタンをクリックすると何も起こりませんが、約10秒後にコマンドが起動します。奇妙な動作、私はまだ瞬間的な解決策を見つけることを試みているが、これは私が暫定的に持っているものである。

関連する問題