
[英]how to get selected value from a paginated gridview into a dropdownlist
[英]how to get a dropdownlist to show a selected value in a gridview?
你们中的有些人可能会觉得这很愚蠢,但我缺乏使该页面正常工作的知识。 我正在尝试为注册客户创建一个页面,以查看他们的预订以及预订号,并增加其他要求。 我从工具箱中选择了dropdownlist和gridview,并使用sqldatasource建立连接并从数据库中获取选择值。 我的问题是,当我从下拉列表中进行选择时,什么都没有发生,并且gridview向我显示了所有客户的信息。 如何获取选定的值以显示在gridview中? 请帮助!我正在使用asp.net c#,这是我拥有的代码:
<%@ Page Title="" Language="C#" MasterPageFile="~/masterpage.master" AutoEventWireup="true" CodeFile="CustomerBooking.aspx.cs" Inherits="Default2" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<p>
Booking ID
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource1" DataTextField="Customer_ID" DataValueField="Booking_ID">
<asp:ListItem>booking_ID</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand="SELECT * FROM [Booking]"></asp:SqlDataSource>
</p>
<p>
<asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="Booking_ID" DataSourceID="SqlDataSource2">
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:BoundField DataField="Booking_ID" HeaderText="Booking_ID" InsertVisible="False" ReadOnly="True" SortExpression="Booking_ID" />
<asp:BoundField DataField="Customer_ID" HeaderText="Customer_ID" SortExpression="Customer_ID" />
<asp:BoundField DataField="Cus_FName" HeaderText="Cus_FName" SortExpression="Cus_FName" />
<asp:BoundField DataField="Cus_LName" HeaderText="Cus_LName" SortExpression="Cus_LName" />
<asp:BoundField DataField="Bo_num_stay" HeaderText="Bo_num_stay" SortExpression="Bo_num_stay" />
<asp:BoundField DataField="Bo_Start_Date" HeaderText="Bo_Start_Date" SortExpression="Bo_Start_Date" />
<asp:BoundField DataField="Bo_End_Date" HeaderText="Bo_End_Date" SortExpression="Bo_End_Date" />
<asp:BoundField DataField="Bo_status" HeaderText="Bo_status" SortExpression="Bo_status" />
<asp:BoundField DataField="Bo_extra_req" HeaderText="Bo_extra_req" SortExpression="Bo_extra_req" />
<asp:BoundField DataField="UserName" HeaderText="UserName" SortExpression="UserName" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" DeleteCommand="DELETE FROM [Booking] WHERE [Booking_ID] = ?" InsertCommand="INSERT INTO [Booking] ([Booking_ID], [Customer_ID], [Cus_FName], [Cus_LName], [Bo_num_stay], [Bo_Start_Date], [Bo_End_Date], [Bo_status], [Bo_extra_req], [UserName]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand="SELECT * FROM [Booking]" UpdateCommand="UPDATE [Booking] SET [Customer_ID] = ?, [Cus_FName] = ?, [Cus_LName] = ?, [Bo_num_stay] = ?, [Bo_Start_Date] = ?, [Bo_End_Date] = ?, [Bo_status] = ?, [Bo_extra_req] = ?, [UserName] = ? WHERE [Booking_ID] = ?">
<DeleteParameters>
<asp:Parameter Name="Booking_ID" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="Booking_ID" Type="Int32" />
<asp:Parameter Name="Customer_ID" Type="Int32" />
<asp:Parameter Name="Cus_FName" Type="String" />
<asp:Parameter Name="Cus_LName" Type="String" />
<asp:Parameter Name="Bo_num_stay" Type="Int32" />
<asp:Parameter Name="Bo_Start_Date" Type="DateTime" />
<asp:Parameter Name="Bo_End_Date" Type="DateTime" />
<asp:Parameter Name="Bo_status" Type="String" />
<asp:Parameter Name="Bo_extra_req" Type="String" />
<asp:Parameter Name="UserName" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="Customer_ID" Type="Int32" />
<asp:Parameter Name="Cus_FName" Type="String" />
<asp:Parameter Name="Cus_LName" Type="String" />
<asp:Parameter Name="Bo_num_stay" Type="Int32" />
<asp:Parameter Name="Bo_Start_Date" Type="DateTime" />
<asp:Parameter Name="Bo_End_Date" Type="DateTime" />
<asp:Parameter Name="Bo_status" Type="String" />
<asp:Parameter Name="Bo_extra_req" Type="String" />
<asp:Parameter Name="UserName" Type="String" />
<asp:Parameter Name="Booking_ID" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
</p>
</asp:Content>
这是因为您没有在gridview数据源select命令中使用参数。 尝试这个
SelectCommand="SELECT * FROM [Booking] WHERE Booking_ID = @Id"
并在您的SQLDataSource中添加selectparameters
<selectparameters>
<asp:controlparameter name="Id" controlid="DropDownList1" propertyname="SelectedValue"/>
</selectparameters>
编辑
您需要修改gridview数据源(在这种情况下为SqlDataSource2)。 所以应该看起来像这样
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<p>
Booking ID
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource1" DataTextField="Customer_ID" DataValueField="Booking_ID">
<asp:ListItem>booking_ID</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand="SELECT * FROM [Booking]"></asp:SqlDataSource>
</p>
<p>
<asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="Booking_ID" DataSourceID="SqlDataSource2">
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:BoundField DataField="Booking_ID" HeaderText="Booking_ID" InsertVisible="False" ReadOnly="True" SortExpression="Booking_ID" />
<asp:BoundField DataField="Customer_ID" HeaderText="Customer_ID" SortExpression="Customer_ID" />
<asp:BoundField DataField="Cus_FName" HeaderText="Cus_FName" SortExpression="Cus_FName" />
<asp:BoundField DataField="Cus_LName" HeaderText="Cus_LName" SortExpression="Cus_LName" />
<asp:BoundField DataField="Bo_num_stay" HeaderText="Bo_num_stay" SortExpression="Bo_num_stay" />
<asp:BoundField DataField="Bo_Start_Date" HeaderText="Bo_Start_Date" SortExpression="Bo_Start_Date" />
<asp:BoundField DataField="Bo_End_Date" HeaderText="Bo_End_Date" SortExpression="Bo_End_Date" />
<asp:BoundField DataField="Bo_status" HeaderText="Bo_status" SortExpression="Bo_status" />
<asp:BoundField DataField="Bo_extra_req" HeaderText="Bo_extra_req" SortExpression="Bo_extra_req" />
<asp:BoundField DataField="UserName" HeaderText="UserName" SortExpression="UserName" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" DeleteCommand="DELETE FROM [Booking] WHERE [Booking_ID] = ?" InsertCommand="INSERT INTO [Booking] ([Booking_ID], [Customer_ID], [Cus_FName], [Cus_LName], [Bo_num_stay], [Bo_Start_Date], [Bo_End_Date], [Bo_status], [Bo_extra_req], [UserName]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand="SELECT * FROM [Booking] WHERE Booking_ID = @Id" UpdateCommand="UPDATE [Booking] SET [Customer_ID] = ?, [Cus_FName] = ?, [Cus_LName] = ?, [Bo_num_stay] = ?, [Bo_Start_Date] = ?, [Bo_End_Date] = ?, [Bo_status] = ?, [Bo_extra_req] = ?, [UserName] = ? WHERE [Booking_ID] = ?">
<selectparameters>
<asp:controlparameter name="Id" controlid="DropDownList1" propertyname="SelectedValue"/>
</selectparameters>
<DeleteParameters>
<asp:Parameter Name="Booking_ID" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="Booking_ID" Type="Int32" />
<asp:Parameter Name="Customer_ID" Type="Int32" />
<asp:Parameter Name="Cus_FName" Type="String" />
<asp:Parameter Name="Cus_LName" Type="String" />
<asp:Parameter Name="Bo_num_stay" Type="Int32" />
<asp:Parameter Name="Bo_Start_Date" Type="DateTime" />
<asp:Parameter Name="Bo_End_Date" Type="DateTime" />
<asp:Parameter Name="Bo_status" Type="String" />
<asp:Parameter Name="Bo_extra_req" Type="String" />
<asp:Parameter Name="UserName" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="Customer_ID" Type="Int32" />
<asp:Parameter Name="Cus_FName" Type="String" />
<asp:Parameter Name="Cus_LName" Type="String" />
<asp:Parameter Name="Bo_num_stay" Type="Int32" />
<asp:Parameter Name="Bo_Start_Date" Type="DateTime" />
<asp:Parameter Name="Bo_End_Date" Type="DateTime" />
<asp:Parameter Name="Bo_status" Type="String" />
<asp:Parameter Name="Bo_extra_req" Type="String" />
<asp:Parameter Name="UserName" Type="String" />
<asp:Parameter Name="Booking_ID" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.