gpt4 book ai didi

c# - 将下拉列表绑定(bind)到下拉列表到详细信息 View ASP.NET C#

转载 作者:太空狗 更新时间:2023-10-29 23:26:19 24 4
gpt4 key购买 nike

我正在尝试将下拉列表绑定(bind)到页面中的 Detailsview 控件,其中第二个下拉列表的结果取决于第一个。我可以将单个 Dropdownlist 绑定(bind)到 Detailsview,但是如果我添加另一个 Dropdownlist,其结果取决于第一个 Dropdownlist,除非您刷新页面,否则详细信息 View 不会显示任何内容。

那么,如果选择了第二个下拉列表,有什么方法可以自动发布详细信息 View 的结果吗?我正在学习this但我无法得到它。

这是我的示例代码

<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="Search.aspx.cs" Inherits="LibrarySystem.Member.Search" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<h3>
Search</h3>
<p>
Choose a category
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
DataSourceID="categoryDataSource" DataTextField="name"
DataValueField="categoryid">
</asp:DropDownList>
<asp:SqlDataSource ID="categoryDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:LibrarySystemConnectionString %>"
SelectCommand="SELECT categoryid, name FROM dbo.TblCategory">
</asp:SqlDataSource>
</p>
<p>
Choose a title
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True"
DataSourceID="bookDataSource" DataTextField="booktitle" DataValueField="bookid">
</asp:DropDownList>
<asp:SqlDataSource ID="bookDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:LibrarySystemConnectionString %>"

SelectCommand="SELECT [categoryid], [booktitle], [bookid] FROM [TblBooks] WHERE ([categoryid] = @categoryid)">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="categoryid"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</p>
<p>
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
CellPadding="4" DataKeyNames="bookid" DataSourceID="bookdetailsDataSource"
ForeColor="#333333" GridLines="None">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<CommandRowStyle BackColor="#D1DDF1" Font-Bold="True" />
<RowStyle BackColor="#EFF3FB" />
<FieldHeaderStyle BackColor="#DEE8F5" Font-Bold="True" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<Fields>
<asp:BoundField DataField="bookid" HeaderText="ID/ISBN" ReadOnly="True"
SortExpression="bookid" />
<asp:BoundField DataField="booktitle" HeaderText="Title"
SortExpression="booktitle" />
<asp:BoundField DataField="lastname" HeaderText="Author"
SortExpression="lastname" />
<asp:BoundField DataField="firstname" HeaderText=""
SortExpression="firstname" />
<asp:BoundField DataField="description" HeaderText="Description"
SortExpression="description" />
<asp:BoundField DataField="name" HeaderText="Category" SortExpression="name" />
<asp:BoundField DataField="dateadded" HeaderText="Date added"
SortExpression="dateadded" />
<asp:BoundField DataField="quantity" HeaderText="No. of copies"
SortExpression="quantity" />
<asp:BoundField DataField="EmployeeID" HeaderText="Reserved by"
SortExpression="EmployeeID" />
<asp:BoundField DataField="reservedate" HeaderText="Reserved date"
SortExpression="reservedate" />
<asp:BoundField DataField="statusname" HeaderText="Status"
SortExpression="statusname" />
</Fields>
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="White" />
</asp:DetailsView>

任何帮助将不胜感激;)

提前致谢

最佳答案

您必须将依赖下拉数据源放在父模板字段中。它看起来像...

 <asp:TemplateField HeaderText="Category">
<InsertItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataSourceID="categoryDataSource"
DataTextField="name" DataValueField="categoryid">
</asp:DropDownList>
<asp:SqlDataSource ID="categoryDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:LibrarySystemConnectionString %>"
SelectCommand="SELECT categoryid, name FROM dbo.TblCategory"></asp:SqlDataSource>
<asp:SqlDataSource ID="bookDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:LibrarySystemConnectionString %>"
SelectCommand="SELECT [categoryid], [booktitle], [bookid] FROM [TblBooks] WHERE ([categoryid] = @categoryid)">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="categoryid" PropertyName="SelectedValue"
Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</InsertItemTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText="Title">
<InsertItemTemplate>
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" DataSourceID="bookDataSource"
DataTextField="booktitle" DataValueField="bookid">
</asp:DropDownList>
</InsertItemTemplate>
</asp:TemplateField>

关于c# - 将下拉列表绑定(bind)到下拉列表到详细信息 View ASP.NET C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5827656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com