0

ユーザーが送信し、データベースに保存された提案を表示する GridView があります。最後の列には、ステータスが表示されます。この列をクリックできるようにしたいのですが、管理者がクリックすると、ModalPopUp ウィンドウ (Ajax ModalPopUpExtender) が状態を示す RadioButtonList と共に表示されます。コードを書き始めたばかりで、多くの問題に直面しました。次の1つを除いて、すべて修正しました。

不明なサーバー タグ 'AjaxToolKit:ModalPopUpExtender'

エラーを修正する方法がわかりません。それを手伝ってくれませんか?

私の ASP.NET コード:

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
    <asp:TabContainer CssClass="tabCont" ID="TabContainer1" runat="server" ActiveTabIndex="0" Height="500px" ScrollBars="Auto" Width="100%">
        <asp:TabPanel ID="All_SafetySuggestions_Tab" HeaderText="All" runat="server">
        <ContentTemplate>
            <div>
    <strong> Division </strong>
    <asp:DropDownList ID="ddlDivision" runat="server" AppendDataBoundItems="True" 
        AutoPostBack="True" DataSourceID="sqlDataSourceDivision" DataTextField="DivisionShortcut" 
        DataValueField="DivisionShortcut"  
        Width="175px" EnableViewState="False">
        <asp:ListItem Value="%">All</asp:ListItem>
    </asp:DropDownList>


    <br />  <br />  

        <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
                        AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ID" 
                        width="900px" CssClass="mGrid" 
                        DataSourceID="SqlDataSource1" 
                        OnRowDataBound="GridView1_RowDataBound">
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" CssClass="alt" />
            <HeaderStyle Font-Bold = "True" ForeColor="Black" Height="20px"/> 
            <Columns>
                <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" 
                    ReadOnly="True" SortExpression="ID" />
                <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
                <asp:BoundField DataField="Description" HeaderText="Description" 
                    SortExpression="Description" />
                <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
                <asp:BoundField DataField="Username" HeaderText="Username" 
                    SortExpression="Username" />
                <asp:BoundField DataField="DivisionShortcut" HeaderText="DivisionShortcut" 
                    SortExpression="DivisionShortcut" />
                <asp:BoundField DataField="Type" HeaderText="Type" SortExpression="Type" />

                <%-- This to make status be opened and edited through the Ajax ModalPopUp Window --%>
                <asp:TemplateField HeaderText="Status">
                    <ItemTemplate>
                        <asp:LinkButton runat="server" ID="lnkSuggestionStatus" Text='<%#Eval("Status")%>'
                                        OnClick="lnkSuggestionTitle_Click">
                        </asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>

                <%--<asp:HyperLinkField HeaderText="Status" 
                    SortExpression="Status" />--%>
            </Columns>
            <RowStyle HorizontalAlign="Center" />
        </asp:GridView>

        <asp:Button runat="server" ID="btnModalPopUp" style="display:none" />

        <AjaxToolkit:ModalPopUpExtender ID="modalPopUpExtender1"
                                        runat="server" 
                                        TargetControlID="btnModalPopUp" 
                                        PopupControlID="pnlPopUp" 
                                        BackgroundCssClass="popUpStyle"
                                        PopupDragHandleControlID="panelDragHandle" 
                                        OkControlID="OKButton">
        </AjaxToolkit:ModalPopUpExtender>

        <asp:Panel runat="server" ID="pnlPopUp">
            <table id="suggestionStatus">
                <tr>
                    <asp:RadioButtonList ID="StatusList" runat="server">
                        <asp:ListItem>Received</asp:ListItem>
                        <asp:ListItem>Pending</asp:ListItem>
                        <asp:ListItem>Actioned</asp:ListItem>
                        <asp:ListItem>Transferred</asp:ListItem>
                    </asp:RadioButtonList>
                </tr>
                <tr>
                    <asp:Button ID="confirmButton" runat="server" Text="Confirm" 
                                OnClientClick="javascript:return confirm('Are you sure you want to send an email notification about the safety suggestion to the owner?')" 
                                OnClick="btnSendStatus_Click" />
                </tr>
            </table>
            <asp:Button ID="OKButton" runat="server" Text="Close" />
        </asp:Panel>

        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:testConnectionString %>" 
            SelectCommand="SELECT     dbo.SafetySuggestionsLog.ID, dbo.SafetySuggestionsLog.Title, dbo.SafetySuggestionsLog.Description, dbo.employee.Name, dbo.SafetySuggestionsLog.Username, 
                      dbo.Divisions.DivisionShortcut, dbo.SafetySuggestionsType.Type, dbo.SafetySuggestionsStatus.Status
FROM         dbo.employee INNER JOIN
                      dbo.SafetySuggestionsLog ON dbo.employee.Username = dbo.SafetySuggestionsLog.Username INNER JOIN
                      dbo.Divisions ON dbo.employee.DivisionCode = dbo.Divisions.SapCode INNER JOIN
                      dbo.SafetySuggestionsType ON dbo.SafetySuggestionsLog.TypeID = dbo.SafetySuggestionsType.ID INNER JOIN
                      dbo.SafetySuggestionsStatus ON dbo.SafetySuggestionsLog.StatusID = dbo.SafetySuggestionsStatus.ID"
                      FilterExpression="[DivisionShortcut] like '{0}%'">

                      <FilterParameters>
                        <asp:ControlParameter ControlID="ddlDivision" Name="DivisionShortcut" 
                                                 PropertyName="SelectedValue" Type="String" />
                    </FilterParameters>
        </asp:SqlDataSource>

        <asp:SqlDataSource ID="sqlDataSourceDivision" runat="server" 
        ConnectionString="<%$ ConnectionStrings:testConnectionString %>" 
        SelectCommand="SELECT [DivisionShortcut] FROM [Divisions]"></asp:SqlDataSource>

       </div>
       </ContentTemplate>
   </asp:TabPanel>

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

protected void lnkSuggestionStatus_Click(object sender, EventArgs e)
    {


        modalPopUpExtender1.Show();
    }

また、ModalPopUp ウィンドウに表示される RadioButtonList の値について、データベースにバインドするにはどうすればよいですか?

参考までに、データベースの設計は次のとおりです。

Employee Table: Username, Name
SafetySuggestionsLog Table: ID, Title, Description, Username, StatusID
SafetySuggestionsStatus Table: ID, Status
4

1 に答える 1

0

さて、あなたが間違っていること:

アセンブリ名を使用して AJAXControl を呼び出しています。以下を使用する必要があります。

    <asp:ModalPopUpExtender />
instead of
    <AjaxToolkit:ModalPopUpExtender />

これにより、モーダルポップアップが機能する可能性があります。

于 2012-06-26T06:35:02.687 に答える