2012-04-19 75 views
1

我有GridViewButton控件嵌套在Panel中。如何在ModalPopUp控件擴展代碼執行之前執行數據綁定

<asp:Panel ID="PanelPopUp" runat="server"> 

    <asp:gridview ID="gvSource" runat="server" CellPadding="4" ForeColor="#333333" 
     GridLines="None"> 
     <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> 
     <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> 
     <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> 
     <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> 
     <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> 
     <EditRowStyle BackColor="#999999" /> 
     <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> 
    </asp:gridview> 
    <asp:Button ID="OKButton" runat="server" Text="Close" /> 

</asp:Panel> 

我想有這樣的GridView顯示爲彈出,而我觸發我的AJAX ModalPopUp Extender控制

<act:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="btnMock" PopupControlID="PanelPopUp" OkControlID="OKButton"> 

</act:ModalPopupExtender> 

該彈出被觸發按鈕:

<asp:Button ID="btnMock" runat="server" Text="Process" OnClientClick="document.getElementById('btnProcess').click();"/> 

還有另一個按鈕:

<asp:Button ID="btnProcess" runat="server" Text="" Style="visibility:hidden;" 
     onclick="btnProcess_Click" /> 

該按鈕事件處理(在服務器端):

protected void btnProcess_Click(object sender, EventArgs e) 
{ 
    //Basically populating data and bind it to GridView 
} 

我的情況:

  1. ModalPopUp TargetControl 不會觸發服務器端事件
  2. 所以沒有點處理TargetControlIDbtnMock),因爲它永遠不會被執行
  3. S O I創建另一個按鈕btnProcess具有事件處理
  4. 事件實際上執行數據綁定是gvSource
  5. btnMock是模態擴展器的目標控制,也可是它不觸發btnProcess
  6. 執行不按照我想要的順序工作。所以btnMock會先彈出顯示然後只有* btnProcess點擊 * ed。

我的問題:

是不可能在模態彈出控制器執行,以執行綁定?我嘗試使用隱藏按鈕的這種解決方法目前沒有按照正確的順序工作。任何人都可以就此提出建議嗎?

回答

1

隱藏彈出式觸發按鈕:

<asp:Button ID="btnMock" runat="server" Text="" Style="visibility:hidden;" /> 

顯示另一個按鈕,這將是模型彈出式控制按鈕,你需要處理的點擊如下圖所示的事件。

<asp:Button ID="btnProcess" runat="server" Text="Process" onclick="btnProcess_Click" /> 

protected void btnProcess_Click(object sender, EventArgs e) 
{ 
    //Basically populating data and bind it to GridView 


    ModalPopupExtender1.Show(); 
} 
+0

工作超好。謝謝。我錯過了'Show()'方法。哈哈 – rofans91 2012-04-19 03:47:22

相關問題