我有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服务器控件(比如网格视图)。所以我想让这个窗口启用/允许我访问后面代码中的那些控件。
答案 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。
为了找到项目模板中的控件,请在此处阅读: