[英]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.