【问题标题】:About Popup Window in ASP.Net关于 ASP.Net 中的弹出窗口
【发布时间】:2011-10-23 05:09:13
【问题描述】:

我有一个 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 服务器控件(如网格视图)。所以我希望这个窗口能够启用/允许我访问后面代码中的那些控件。

【问题讨论】:

标签: c# jquery asp.net ajax wcf


【解决方案1】:

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

【讨论】:

  • 非常感谢,你能澄清一下我如何使用colorbox。我将不胜感激。
【解决方案2】:

对于这种事情,我喜欢以下构造:

<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】:

    创建您想要的 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多