如何通过Ajax ModalPopUp窗口更新所选建议的状态? [英] How to update the status of the selected suggestion through Ajax ModalPopUp Window?

查看:52
本文介绍了如何通过Ajax ModalPopUp窗口更新所选建议的状态?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是ASP.NET的新开发人员,并且正在为我的公司开发一个基于Web的建议框程序,员工可以在其中提交他们拥有的任何安全建议.现在,我正在研究该系统的管理"部分.管理员将能够看到表格中列出的所有建议.在表格的最后一列,状态将在此处列出.当管理员单击这些建议之一的状态时,将出现一个新的弹出窗口(asp.net ajax ModalPopUpExtender),其中列出了所有可能的状态,例如:已执行,已批准...等.选择这些状态之一,建议的状态将在数据库中更新.我编写了代码,但仍然无法更新建议的状态,

**所以您能帮我修改它吗?**

仅供参考,我具有以下数据库设计:

员工表:用户名,名称...
安全建议日志:ID,标题,描述,用户名,StatusID
SafetySuggestionsStatus:ID,状态

** ASP.NET代码:**

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:**

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);
    }

推荐答案

ConnectionStrings:testConnectionString%> SelectCommand ="SELECT * FROM [SafetySuggestionsStatus]"></asp:SqlDataSource> < asp:Button ID ="confirmButton" runat =服务器" Text =确认" OnClientClick ="javascript:return Confirm(``您确定要向所有者发送有关安全建议的电子邮件通知吗?") OnClick ="btnSendStatus_Click"/> < asp:Button ID ="OKButton" runat =服务器" Text =关闭"/> </asp:Panel> </ContentTemplate> </asp:UpdatePanel>
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:**

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);
    }


这篇关于如何通过Ajax ModalPopUp窗口更新所选建议的状态?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆