关于ASP.Net中的弹出窗口

8

我有一个包含“详细信息按钮”的gridview,该按钮位于最后一列。

我的aspx代码:

<asp:GridView Width="100%" ID="gv_NotApplied" CssClass="datatable" AllowSorting="True"
    runat="server" TabIndex="2" AutoGenerateColumns="False" AllowPaging="True" GridLines="None">
    <Columns>
        <asp:TemplateField HeaderText="serial">
            <ItemTemplate>
                <asp:Label ID="lblSerial" runat="server"></asp:Label>

            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField HeaderText="name" DataField="crs_name" />
        <asp:BoundField HeaderText="lecturer" DataField="name" />
        <asp:TemplateField HeaderText="details">
            <ItemTemplate>
                <asp:ImageButton ID="Ibtn_Details" runat="server" ImageUrl="~/Images/detail.png"
                    CommandArgument='<%#((GridViewRow)Container).RowIndex%>' CommandName="Detail"
                    CausesValidation="false" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
    <RowStyle VerticalAlign="Top" CssClass="row" />
</asp:GridView>

我想要做的是:

  • 当用户点击“详细信息”按钮时,弹出一个弹窗(对话框窗口)

  • 在这个窗口中,我想要放置一些ASP.NET服务器控件(如网格视图)。因此,我希望这个窗口能够允许我在代码后台访问这些控件。


1
请参阅此帖子:https://dev59.com/rUfRa4cB1Zd3GeqP-ZiC - Tolyandre
3个回答

3

对于这种情况,我喜欢以下结构:

<asp:UpdatePanel id="UpdatePanel1" runat="server">
  <ContentTemplate>
    <asp:Panel id="popup" visible="false" runat="server">
      popup Content
    </asp:Panel>

    <asp:AlwaysVisibleControlExtender ID="AlwaysVisibleControlExtender1" TargetControlID="popup" runat="server" />
    <asp:DragPanelExtender ID="DragPanelExtender1" TargetControlID="popup" runat="server" />
  </ContentTemplate>
 </asp:UpdatePanel>
  • 你可以使用 popup.visible = true; 来控制弹出窗口的显示,并完全掌控其内容。
  • Updatepanel + Ajax Control Toolkit Extender 可以使其看起来像一个独立的弹出窗口。

3

我建议您打开一个模态弹出窗口,就像Colorbox一样,这个弹出框可以指向显示包含所有所需控件的aspx页面。该弹出框将告诉您如何使您的按钮打开模态窗口以及如何在其中放置页面。


非常感谢,您能否澄清我如何在我的情况下使用colorbox。我将不胜感激。 - Anyname Donotcare

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接