2012-04-01 46 views
1

我的問題是我在更新面板中封裝了一組控件。第一次當頁面運行我的Mutual()方法被調用。當我點擊Button1_click時,當前值行[i]存儲在數據庫中,但是當我點擊Button2增加行[i]的第i個值並調用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

它更好,如果你表現出的aspx代碼.....這將在這裏更新面板內部的控件,當你得到一個典型的問題是夫婦的解決方案

1)你可以使用觸發器觸發服務器端事件通過在你的更新面板中放置觸發器

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

2)使用jquery ajax函數調用你的方法。 ///但如果沒有其他作品