繁体   English   中英

我需要选择下拉列表值时,复选框控件应在asp.net中动态更改

[英]i need that on selection of drop down list value the check box controls should change dynamically in asp.net

我们的团队正在使用SQL Server作为后端。 在网页上,我们在DropdownList中具有值,这些值动态反映在表的STREAM列上,该列包含各种Streams(艺术,商业,科学等)的数据。 现在,在选择DDL中的流时,我们需要提供“复选框”选项,以仅显示与所选流相关的主题。 但是我们的整个主题位于另一张表的一个列中。 如何仅检索流中的相关主题。

这是aspx代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <asp:DropDownList ID="ddlStream" runat="server" DataSourceID="SqlDataSource1" DataTextField="Branch_Name" DataValueField="Branch_Name" AutoPostBack="True" OnSelectedIndexChanged="ddlStream_SelectedIndexChanged">
        </asp:DropDownList>
        <br />
        <br />
        <asp:CheckBoxList ID="chkSubjects" runat="server" DataSourceID="SqlDataSource2" DataTextField="SUBJECT" DataValueField="SUBJECT">
        </asp:CheckBoxList>
        <br />
        <asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False" DataSourceID="SqlDataSource2">
            <Columns>
                <asp:BoundField DataField="SUBJECT" HeaderText="SUBJECT" SortExpression="SUBJECT" />
            </Columns>
        </asp:GridView>
        <br />
        <br />
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ERPConnectionString %>"  SelectCommand="SELECT [Branch_Name] FROM [Branch_Master]"></asp:SqlDataSource>
        <br />
        <br />
        <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ERPConnectionString %>" SelectCommand="SELECT [SUBJECT] FROM [Course_Master]"></asp:SqlDataSource>

    </div>
    </form>
</body>
</html>

所有主题都在一个列中,而不是在单独的列中,这就是导致此问题的原因。 我是否需要基于STREAM创建多个列? 难道所有主题仅由一个公共列完成吗? 我本来尝试在DDL和CheckBox扩展名上使用CONFIGURE Data Source选项,但它会检索列中的所有数据。

谢谢您帮助我更好地理解我的问题并更好地定性。 您需要更多输入吗?

问候,桑托什

这很简单 ..

您必须使用下拉列表的选定索引更改事件。

  • 假设您的下拉列表名称为ddlStream

  • 假设您的清单名称是chkStream

  • 将dropdownlist的autopostback属性设置为TRUE。

      protected void ddlStream_SelectedIndexChanged(object sender, EventArgs e) { SqlConnection Con = new SqlConnection("connectionString"); string query = "select [column name] from [table name] where [column name] ="+ddlStream.SelectedItem.Value; SqlCommand com = new SqlCommand(query, Con); chkStream.DataValueField = "Columnname"; chkStream.DataTextField = "Columnname"; conn.Open(); DataReader reader1 = comm.ExecuteReader(); chkStream.DataSource = reader1; chkStream.DataBind(); } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM