Click here to Skip to main content
15,887,683 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I am a new ASP.NET develop and I am developing a web-based suggestions box program for my company where the employees can submit any safety suggestions they have. Now, I am working on the Administration part of this system. The Admin will be able to see all suggestions listed in a table. In the last column of the table, the status will be listed there. When the Admin clicks on the status of one of these suggestion, a new pop-up window (asp.net ajax ModalPopUpExtender) will be appeared with listing all the possible status such as: actioned, approved... etc. And when the Admin selects one of these status, the status of the suggestion will be updated in the database. I wrote the code but still it doesn't update the status of the suggestion,

**so could you please help me in modifying it?**

FYI, I have the following database design:

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

**ASP.NET code:**

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
            <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="lnkSuggestionStatus_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">

                        <asp:RadioButtonList ID="StatusList" runat="server" RepeatColumns="1" RepeatDirection="Vertical"
                                                RepeatLayout="Table" TextAlign="Left" DataSourceID="SuggestionStatusDataSource"
                                                DataTextField="Status" DataValueField="ID">
                            <asp:ListItem id="option1" runat="server" Value="ACTIONED" />
                            <asp:ListItem id="option2" runat="server" Value="APPROVED" />
                            <asp:ListItem id="option3" runat="server" Value="PENDING" />
                            <asp:ListItem id="option4" runat="server" Value="TRANSFERRED" />
                        </asp:RadioButtonList>
                        <asp:SqlDataSource ID="SuggestionStatusDataSource" runat="server"
                                            ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
                                            SelectCommand="SELECT * FROM [SafetySuggestionsStatus]"></asp:SqlDataSource>

                        <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" />

                <asp:Button ID="OKButton" runat="server" Text="Close" />
            </asp:Panel>
            </ContentTemplate>
            </asp:UpdatePanel>



**Code-Behind:**
C#
public void btnSendStatus_Click(object sender, EventArgs e) {
        var statusID = StatusList.SelectedValue;

        string connString = "Data Source=localhost\\sqlexpress;Initial Catalog=psspdbTest;Integrated Security=True";
        //For updating the status of the safety suggestion
        string updateCommand = "UPDATE SafetySuggestionsStatus SET ID= @statusID";
        using (SqlConnection conn = new SqlConnection(connString))
        {
            conn.Open();
            //using (SqlCommand cmd = new SqlCommand(cmdText, conn))
            using (SqlCommand cmd = new SqlCommand(updateCommand, conn))
            {

                cmd.Parameters.AddWithValue("@ID", statusID);
                cmd.ExecuteNonQuery();
            }
        }

        SendSuggestionStatusToUser(statusID);
    }
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900