0

ユーザーが GridView で LinkBut​​ton をクリックしたときにモーダル ポップアップを表示しようとしています。テスト用にブレーク ポイントを配置しましたが、Gridview で Linkbutton をクリックしても ModalPopupExtender.Show() イベントを通過しないようです。

protected void lnkItemName_Click(object sender, EventArgs e)
{<---Break Point
     ModalPopupExtender.Show();
}

   <asp:GridView ID="grvItem" runat="server" AutoGenerateColumns="False" 
        DataSourceID="SqlDataSourceItem" onrowdatabound="grvItem_RowDataBound" 
        DataKeyNames="ID">                                   
        <Columns>                  
            <asp:TemplateField >                                                        
                <ItemStyle Font-Size="10" />
                <HeaderTemplate>
                    ITEM
                </HeaderTemplate>
                <ItemStyle Wrap="True" />
                <ItemTemplate>                                           
                    <asp:LinkButton ID="lnkItemName" runat="server" Text='<%# Eval("NAME") %>' CssClass="h7" Width="100" OnClick="lnkItemName_Click"></asp:LinkButton>
                    <asp:Panel ID="pnlItem" runat="server" Style="display: none" Width="400px" Height="400px" BackColor="White">
                        <div style="float: right;">
                            <asp:LinkButton ID="lnkClose" runat="server">Close</asp:LinkButton>
                        </div>
                        <asp:TextBox ID="txt" runat="server">asdf</asp:TextBox>
                    </asp:Panel>
                    <asp:ModalPopupExtender ID="extPerson" runat="server" TargetControlID="lnkItemName"
                        PopupControlID="pnlItem" DropShadow="true" CancelControlID="lnkClose" />
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView> 
4

2 に答える 2

1

「lnkItemName」は「extPerson」の TargetControlID であるため、「lnkItemName_Click」はまったく呼び出されません。代わりに ModalPopupExtender によって処理され、「pnlItem」が自動的に表示されます。必要に応じて、TargetControlID プロパティを削除すると、サーバーで "lnkItemName_Click"呼び出されるため、"pnlItem" を手動で表示できます。行に 1 つある)、それを ModalPopupExtender としてキャストし、それに対して Show() を呼び出します。

簡単に言えば、単に OnClick イベントとその用途を削除するだけです。モーダル ポップアップが現在のように表示されない場合は、何か他のことが間違っています。

于 2012-06-02T15:36:42.887 に答える
0

これを行う :

<ajaxToolkit:ModalPopupExtender runat="server" ID="mdlImageDetails" TargetControlID="mdConfirmbtn"
        PopupControlID="modelDiv" BackgroundCssClass="modalBackground" >
    </ajaxToolkit:ModalPopupExtender>
    <asp:Button runat="server" ID="mdConfirmbtn" Style="display: none;" />

そして、コード.show().hide()メソッドを呼び出して ModalPopUp を手動で制御できます。

于 2012-06-02T20:56:38.850 に答える