1

とコントロールが内GridViewButtonネストされてい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 ExtenderAJAXコントロールをトリガーしている間、この 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 
}

私の状況:

  1. ModalPopUp TargetControlがサーバー側イベントをトリガーしない
  2. したがって、( )のイベントをTargetControlIDbtnMock処理する意味はありません。実行されることはないからです。
  3. btnProcessそのため、イベントが処理される別のボタンを作成します
  4. イベントは実際にデータバインディングを実行していますgvSource
  5. これbtnMockは、モーダル エクステンダーのターゲット コントロールであり、次の実行もトリガーします。btnProcess
  6. しかし、それは私の希望する順序で動作しません。したがって、btnMock 最初にポップアップが表示されbtnProcessそれから *クリックが* されます。

私の質問:

モーダルポップアップコントローラーの実行中にデータバインディングを実行することは不可能ですか? 非表示のボタンを使用して試したこの回避策は、現在、適切な順序で機能していません。誰でもこれについてアドバイスできますか?

4

1 に答える 1

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();
}
于 2012-04-19T03:23:53.297 に答える