关于ASP.Net中的弹出窗口
本文关键字:窗口 ASP Net 关于 | 更新日期: 2023-09-27 18:05:03
我有一个gridview
,它包含一个details button
作为最后一列。
:
<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服务器控件(如网格视图)。所以我想要这个窗口启用/允许我访问后面代码中的那些控件。
我建议你打开一个模态弹出窗口,比如colorbox,这个颜色框可以指向一个aspx页面,其中包含了你想要的所有控件。颜色框会告诉你如何让你的按钮打开模式窗口,以及如何把它放在页面中。
对于这种事情,我喜欢下面的结构:
<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将给它一个独立的弹出窗口的外观和感觉。
创建您想要的aspx弹出窗口,并为按钮添加javascript事件。例如:
<button onclick="window.open('_blank', 'www.google.co.il', 'width=100,height=100');">asdasd</button>
你可以使用代码将事件放在aspx后面,而不是直接放在aspx上,以便为每个按钮提供不同的url。为了找到项目模板中的控件,请阅读这里:
http://forums.asp.net/t/998368.aspx/1?Frustated的+ FindControl + FindControl + + +显示数据表格+ s + ItemTemplate