c# - 根据其他选定的下拉列表项更改一个下拉列表数据

标签 c# mysql asp.net .net visual-studio

我的网络应用程序项目中有 2 个下拉列表和数据库。在数据库中,我有域表和子域表。在子域表中,我有域表中列 DomainId 的外键。 我用域中的数据填充第一个下拉列表(我使用 DomainId 作为数据值,DomainName 作为数据文本/这里是代码:

protected void Page_Load(object sender, EventArgs e)
    {
        string connString = System.Configuration.ConfigurationManager.ConnectionStrings["SampleConnectionString"].ToString();
        conn = new SqlConnection(connString);
        SqlCommand cmd = new SqlCommand("SELECT DomainId , DomainName FROM Domain",conn);
        conn.Open();
        DropDownList1.DataTextField = "DomainName";
        DropDownList1.DataValueField = "DomainId";
        DropDownList1.DataSource = cmd.ExecuteReader();
        DropDownList1.DataBind();

    }

现在,当用户从下拉列表中选择项目时,我想根据所选项目填充第二个下拉列表,但它不起作用。 这是代码的第二部分:

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string connString = System.Configuration.ConfigurationManager.ConnectionStrings["SampleConnectionString"].ToString();
        conn = new SqlConnection(connString);



        SqlCommand cmd = new SqlCommand("SELECT SubDomainName, SubDomainId FROM SubDomain where DomainId= @id", conn);
        cmd.Parameters.AddWithValue("@id", DropDownList1.SelectedValue);
        conn.Open();
        DropDownList2.DataTextField = "SubDomainName";
        DropDownList2.DataValueField = "SubDomainId";
        DropDownList2.DataSource = cmd.ExecuteReader();
        DropDownList2.DataBind();
        conn.Close();


    }

最佳答案

将 DropDownList1 控件的 AutoPostBack 属性设置为 true。如果您已经设置了该设置,但仍然有错误,请同时发布您的 .aspx 文件

关于c# - 根据其他选定的下拉列表项更改一个下拉列表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34239280/

相关文章:

C#接口(interface)作为参数类型转换问题

c# - 什么时候使用 int 与 Int32,或 string 与 String 有什么关系?

c# - 有关如何链接、编译等以及它们如何组合在一起的书籍?

mysql - 为什么以下查询需要很长时间才能显示结果?

c# - 如何识别网站的内容语言,如英语、日语、中文等

c# - 无法在生成的 PDF 中正确显示泰米尔语

c# - 获取 8*8 block 图像到 arrayList

mysql - Odd 无法添加外键约束

mysql 搜索顶部匹配应该排在第一位

c# - 以最佳方式捕获站点上的所有异常