关于ASP.Net中的弹出窗口

时间:2011-08-09 12:54:26

标签: c# jquery asp.net ajax wcf

我有gridview,其中包含details button作为最后一列。

我的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>

我想做的是:

  • 当用户点击details button时,请打开弹出窗口(对话窗口)

  • 在这个窗口中我想放入一些asp.net服务器控件(比如网格视图)。所以我想让这个窗口启用/允许我访问后面代码中的那些控件。

3 个答案:

答案 0 :(得分:3)

我建议你打开一个像colorbox这样的模态弹出窗口,这个颜色框可以指向显示包含你想要的所有控件的aspx页面。颜色框将告诉您如何使按钮打开模态窗口以及如何将页面放入其中。

答案 1 :(得分: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会给它一个独立弹出窗口的外观和感觉。

答案 2 :(得分:1)

创建您的欲望aspx弹出窗口并将javascript事件添加到按钮。例如:

<button onclick="window.open('_blank', 'www.google.co.il', 'width=100,height=100');">asdasd</button>

您可以使用后面的代码放置事件,而不是直接在aspx上,以便为每个按钮提供不同的URL。
为了找到项目模板中的控件,请在此处阅读:

http://forums.asp.net/t/998368.aspx/1?Frustated+of+FindControl+FindControl+in+GridView+s+ItemTemplate