1

私は新しいASP.NET開発者であり、社内の部門向けに簡単なイントラネット登録システムを開発しています。利用可能なイベントはGridViewに一覧表示され、イベントのタイトルを示す最初の列はリンクボタンとして表示されます。私が今欲しいのは次のとおりです。

ユーザーがこれらのイベントタイトルの1つをクリックすると、ポップアップウィンドウが表示され、登録ボタンでGridViewにすでに存在するイベントの情報が示されます。私はAjaxToolKitModalPopUpExtenderです。私はほとんどすべてを行いましたが、ModalPopUpでそのイベントの情報を表示する方法がわかりません。

これで私を助けてくれませんか?

私のコードビハインド(C#):

protected void lnkTitle_Click(object sender, EventArgs e)
{
    //to get the GridViewRow from the sender, so we can get the datakey we need
    GridViewRow gvrow = (GridViewRow)(((LinkButton)sender)).NamingContainer;
    HiddenField1.Value = ListOfAvailableEvents_GrivView.DataKeys[gvrow.RowIndex].Value.ToString();

    //show the modalPopUp
    modalPopupExtender1.Show();
}

私のASP.NETコード:

<asp:GridView ID="ListOfAvailableEvents_GrivView" runat="server" AutoGenerateColumns="False"
    DataKeyNames="ID" CellPadding="4" DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None"
    AllowPaging="True" PageSize="5">
    <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <RowStyle BackColor="#F7F6F3" ForeColor="#333333" CssClass="generaltext" />
    <Columns>
        <asp:TemplateField HeaderText="Title">
            <ItemTemplate>
                <asp:LinkButton ID="lnkTitle" runat="server" Text='<%# Eval("Title") %>' OnClick="lnkTitle_Click"></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="Description" HeaderText="Description" SortExpression="Description" />
        <asp:BoundField DataField="Location" HeaderText="Location" SortExpression="Location" />
        <asp:BoundField DataField="StartDateTime" HeaderText="Start Date & Time" SortExpression="StartDateTime" />
        <asp:BoundField DataField="EndDateTime" HeaderText="End Date & Time" SortExpression="EndDateTime" />
    </Columns>
    <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
    <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
    <HeaderStyle Font-Bold="True" CssClass="complete" />
    <EditRowStyle BackColor="#999999" />
    <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
</asp:GridView>

<asp:Button ID="btnModalPopUp" runat="server" Style="display: none" />
<ajaxToolkit:ModalPopupExtender ID="modalPopupExtender1" runat="server" TargetControlID="btnModalPopUp"
    PopupControlID="pnlPopUp" BackgroundCssClass="popUpStyle" PopupDragHandleControlID="panelDragHandle"
    OkControlID="OKButton">
</ajaxToolkit:ModalPopupExtender>

<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:Panel ID="pnlPopUp" runat="server" CssClass="popUpStyle">
    <asp:Button ID="confirmButton" runat="server" Text="Register" OnClick="btnSendConfirmationEmail_Click" />
    <asp:Button ID="OKButton" runat="server" Text="Cancel" />
</asp:Panel>

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:PM_RegistrationSysDBConnectionString %>"
    SelectCommand="SELECT     ID, Title, Description, Location, StartDateTime, EndDateTime
                    FROM         dbo.Events
                    WHERE     (IsActive = 1)
                    ORDER BY ID DESC">
</asp:SqlDataSource>

参考までに、データベースに次のテーブルがあり、GridViewにバインドしています。

Events Table: ID, Title, Description, Location, StartDateTime, EndDateTime

GridViewに他の情報と一緒にIDを表示したくないことに注意してください

4

1 に答える 1

3

優れたチュートリアルを示すリンクがいくつかあります。私の意見では、クライアント側を使用するだけで分離コードを使用せずに必要なものを達成するのに役立つため、ユーザーがリンクボタンをクリックしたときにページが更新されるのを回避できます。

http://technico.qnownow.com/using-ajax-modal-popup-extender-asp-net-gridview-control/

http://shibashishdotnetocean.blogspot.com/2011/12/modalpopupextender-in-gridview.html

http://www.dotnetcurry.com/ShowArticle.aspx?ID=212

http://kishor-naik-dotnet.blogspot.com/2011/10/ajax-modalpopupextender-in-gridview.html

于 2012-08-13T04:27:34.823 に答える