web-dev-qa-db-ja.com

ASP.Netのポップアップウィンドウについて

最後の列としてdetails buttonを含む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>

私がしたいのは:

  • ユーザーがdetails buttonをクリックしたら、ポップアップウィンドウ(ダイアログウィンドウ)を開きます。

  • このウィンドウで、いくつかのasp.netサーバーコントロール(グリッドビューなど)を配置したいと思います。したがって、このウィンドウで、コードビハインドのこれらのコントロールにアクセスできるようにします。

8

colorbox のようなモーダルポップアップウィンドウを開くことをお勧めします。このカラーボックスは、必要なすべてのコントロールを含むaspxページを表示するように指定できます。カラーボックスには、ボタンでモーダルウィンドウを開く方法と、ボタンにページを配置する方法が示されます。

3
Samir Adel

この種のことのために、私は次の構成が大好きです:

<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
Steav

希望のaspxポップアップを作成し、ボタンにjavascriptイベントを追加します。例えば:

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

ボタンごとに異なるURLを指定するために、aspxに直接ではなく、コードビハインドを使用してイベントを配置できます。
アイテムタンプレートのコントロールを見つけるには、ここを読んでください:

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

1
Naor