2012-04-01 17 views
1

私の問題は、アップデートパネルで一連のコントロールをカプセル化していることです。ページが初めて実行されるときMutual()メソッドが呼び出されます。 Button1_clickをクリックすると、現在の値row [i]がデータベースに保存されますが、Row2のi番目の値をインクリメントするためにButton2をクリックしてMutual(i)を呼び出すと、呼び出されません。 ..アップデートパネル非同期プロパティ

どこが間違っているのか、何か不足していますか教えてください。なぜこうなった?

protected void Page_Load(object sender, EventArgs e) 
{ 
    if(!Page.IsPostBack) 
    { 
      //Access values from database and store into DataRow[] row 
      i=0; 
      ViewState["i"] = i; 
      Mutual(i); 
     } 

    } 
protected void Mutual(int i) 
{ 
    //display row[i] 

} 
protected void Button1_click(...) 
    { 

    //store current row[i] value into database 
    } 

protected void Button2_click(....) 
{ 
    i = (int)ViewState["i"]; 
    i++; 
    ViewState["i"] = i; 
    Mutual(i); 

} 

答えて

0

それより良いあなたはここで更新パネル内のコントロールを配置するときにあなたが得る典型的な問題が解決策のカップルが

1)あなたが引き金にトリガを使用することができていることを..... ASPXコードを表示する場合あなたのメソッドを呼び出すためにjqueryのAJAX機能を使用して、更新パネル

<asp:UpdatePanel> 
<Triggers> 
<asp:AsyncPostBackTrigger ControlID="Button2" EventName="Click" /> 
</Triggers> 
</asp:UpdatePanel> 

2)内のトリガーを配置することにより、サーバー側のイベント。 ///しかし、それ以外のものが動作しない場合は