c# - 如何使用 DropDownList 的 SelectedIndexChanged 事件

标签 c# asp.net webforms event-handling

我的网络表单中有两个 DropDownList,当我在第一个下拉列表中选择一个值时,我希望在第二个下拉列表中自动选择一个相关值。

这是我目前拥有的:

    <table>   
        <tr>
            <td>
                <asp:Label ID="lbmanu" runat="server" Text="Furniture Manufacturer : 
                   "></asp:Label>
            </td>
            <td>
                <asp:DropDownList ID="ddmanu" runat="server" 
                    DataSourceID="Sql_fur_model_manu"    
                    DataTextField="manufacturer" DataValueField="manufacturer" 
                    onselectedindexchanged="ddmanu_SelectedIndexChanged">
                </asp:DropDownList>
                <asp:SqlDataSource ID="Sql_fur_model_manu" runat="server" 
                    ConnectionString="<%$ ConnectionStrings:conStr %>" 
                    SelectCommand="SELECT DISTINCT [manufacturer] FROM 
                     [furniture_manufacturer]">
                </asp:SqlDataSource>
            </td>
        </tr>
        <tr>
            <td>
                <asp:Label ID="lbtype" runat="server" Text="Furniture Type : 
                        "></asp:Label>
            </td>
            <td>
                <asp:DropDownList ID="ddtype" runat="server" AutoPostBack="True">
                   </asp:DropDownList>
            </td>
        </tr>
   </table>

代码隐藏:

protected void ddmanu_SelectedIndexChanged(object sender, EventArgs e)
{
    string query = "select furniture from furniture_model where manufacturer='" + 
    ddmanu.SelectedValue.ToString() + "'";
    con.Open();
    cmd = new SqlCommand(query, con);
    DataTable dt = Select(query);
    cmd.ExecuteNonQuery();
    ddtype.DataSource = dt;
    ddtype.DataTextField = "manufacturer";
    ddtype.DataValueField = "furniture";
    ddtype.DataBind(); 
}

最佳答案

您应该将 AutoPostBack="true"添加到 DropDownList1

                <asp:DropDownList ID="ddmanu" runat="server" AutoPostBack="true"
                    DataSourceID="Sql_fur_model_manu"    
                    DataTextField="manufacturer" DataValueField="manufacturer" 
                    onselectedindexchanged="ddmanu_SelectedIndexChanged">
                </asp:DropDownList>

关于c# - 如何使用 DropDownList 的 SelectedIndexChanged 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19438389/

相关文章:

在 C# Visual Studio 中调用 IronPython 时,C# WPF UI 卡住

c# - 分割成特定尺寸的件数

asp.net - HTML 表单数据在 POST 时丢失

php - 我正在提交一个表单,其中包含一个包含 URL 字符串的字段,该字符串在表单提交和进入 MYSQL 数据库之间会丢失格式

c# - MVC4 与 Telerik 编辑器无法正常工作

c# - 在 asp.net 中集成 OpenID 时出错

javascript - 如何在 javascript MVC 4 中使用模型 int 数组变量

c# - 一种为 http 响应编写重试的优雅方法

c# - 在 Web 窗体应用程序中 bundle CSS 和脚本

asp.net - 如何在网络表单中包含部分 View