とコントロールが内GridView
にButton
ネストされていPanel
ます。
<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>
ModalPopUp Extender
AJAXコントロールをトリガーしている間、この GridView を PopUp として表示したい
<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
}
私の状況:
- ModalPopUp TargetControlがサーバー側イベントをトリガーしない
- したがって、( )のイベントを
TargetControlID
btnMock
処理する意味はありません。実行されることはないからです。 btnProcess
そのため、イベントが処理される別のボタンを作成します- イベントは実際にデータバインディングを実行しています
gvSource
- これ
btnMock
は、モーダル エクステンダーのターゲット コントロールであり、次の実行もトリガーします。btnProcess
- しかし、それは私の希望する順序で動作しません。したがって、
btnMock
最初にポップアップが表示され、btnProcess
それから *クリックが* されます。
私の質問:
モーダルポップアップコントローラーの実行中にデータバインディングを実行することは不可能ですか? 非表示のボタンを使用して試したこの回避策は、現在、適切な順序で機能していません。誰でもこれについてアドバイスできますか?