循环遍历项模板并将更改保存到数据库

时间:2017-10-31 10:56:30

标签: c# sql asp.net database itemtemplate

希望有人可以提供帮助。

我们有一个网页,我们将数据从数据库中提取到bootstrap项目和下拉列表中。前端用户可以更改下拉列表中的值。

但是在c#中,我们不确定如何获取更改的下拉值,遍历项模板并更新相应的数据库表。

目前的代码是:

                <asp:SqlDataSource ID="getBacklog" runat="server" ConnectionString="<%$ ConnectionStrings:smsConnection %>"
                    SelectCommand="SELECT projbacklog.Id, projbacklog.projectId, projbacklog.projectname, projbacklog.priority, projbacklog.refnum, projbacklog.userstory
                FROM projbacklog
                INNER JOIN projects ON projbacklog.projectId = projects.Id
                WHERE projbacklog.projectId = 9 ORDER BY projbacklog.priority ASC"></asp:SqlDataSource>

                <!-- SQL data source to pull dropdown menu for priority level -->

                <asp:SqlDataSource ID="priorityDropdown" runat="server" ConnectionString="<%$ ConnectionStrings:smsConnection %>"
                    SelectCommand="SELECT * FROM projbacklog WHERE projbacklog.projectId = 9"></asp:SqlDataSource>

                <asp:Label ID="projectNameLbl" runat="server" Text='<%# Eval("projectname") %>'></asp:Label>

                <asp:ListView ID="backlog" runat="server" DataSourceID="getBacklog">

                    <ItemTemplate>

                        <br />
                        <ul class="list-group">
                            <li class="list-group-item">

                                <asp:Label ID="userStoryTxt" runat="server" Text='<%# Eval("userstory") %>'></asp:Label>&nbsp;
                                 <asp:Label ID="refNum" runat="server" Text='<%# Eval("refnum") %>'></asp:Label>&nbsp;
                                <asp:DropDownList ID="storyPriorityDrp" runat="server" DataSourceID="priorityDropdown" SelectedValue='<%# Bind("priority") %>' DataTextField="priority" DataValueField="priority">
                                </asp:DropDownList>
                            </li>
                        </ul>
                    </ItemTemplate>

单击按钮,我们要将新值保存回数据库。希望你能帮忙:)

1 个答案:

答案 0 :(得分:0)

将行ID添加到listview项目

 <asp:hiddenfield id="projectId"
              Value='<%#Eval("projectId")%>' 
              runat="server"/>

添加UpdateCommand

UpdateCommand="Update projbacklog SET priority=@priority WHERE projectId =@projectId"