2009-05-22 85 views
2

我有一個只顯示在模式彈出窗口中的gridview。在我調用模式彈出窗口之前,我在文本框中設置了一個值。模態彈出窗口中的gridview取決於該文本框的數據顯示值。所以我onclick我想重新加載gridview,以便它將重新加載文本框的值。有任何想法嗎?重新加載Gridview onclientclick

回答

5

本質...使用更新面板中,按鈕按下事件應該會觸發部分回發,您的查詢將重新運行,然後允許您在網格上執行另一個數據綁定。那麼這一切跟一個modalPopUp.Show()...

後面的代碼

protected void btnAdd_Click(object sender, EventArgs e) 
{ 
    if(!String.IsNullOrEmpty(this.txtMyValue.Text)) 
    { 
     AddValue(this.txtMyValue.Text); 
     UpdateGrid(); 
     this.UpdatePanel1.Update(); 
    } 
    else 
    { 
     //ooooops 
    } 
} 

private void AddValue(String str) 
{ 
    DataAccess.AddSomeValue(str); 
} 

private void UpdateGrid() 
{ 
    this.GridView1.DataSource = DataAccess.GetData(); 
    this.GridView1.DataBind(); 
} 

前端

<asp:UpdatePanel ID="UpdatePanel1" runat="server" updatemode="Conditional"> 
    <ContentTemplate> 
     <asp:TextBox id="TextBox1" runat="server" /> 
     <asp:Button id="btnAdd" OnClick="btnAdd_Click" runat="Server"> 
     <div id="MyModalArea"> 
      <asp:GridView id="GridView1" runat="Server" ..... > 
      </asp:GridView> 
     </div> 
    </ContentTemplate> 
</asp:UpdatePanel> 
+0

我沒有使用AJAX框架。關係是我使用數據源設置了gridview,但不是以編程方式。 sql語句說'從tbl選擇數據,其中Dept = Textbox.text'文本框的值不會被設置,直到OnclientClick被觸發,這就是爲什麼我想試圖重新加載那個網格。明白了嗎?這可能嗎? – Eric 2009-05-22 21:06:48

0

認沽彈出窗口的內容(網格,其餘有)在單獨的aspx頁面,然後當你初始化彈出窗口,發送文本框的值作爲參數:

MyPopupWindowContent.aspx?TextBoxValue=something 
相關問題