Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# asp.net中基于多选状态的城市下拉列表填充_C#_Asp.net_Multi Select - Fatal编程技术网

C# asp.net中基于多选状态的城市下拉列表填充

C# asp.net中基于多选状态的城市下拉列表填充,c#,asp.net,multi-select,C#,Asp.net,Multi Select,我正在创建一个表单,用户可以从下拉列表中选择一个国家,然后根据所选国家,在多选列表框中填写所有相关国家。现在,用户可以选择多个州,并根据选定的州,相应地填写另一个多选列表框(为城市指定)。如何才能做到这一点 Html:- <asp:DropDownList ID="ddlCountry" runat="server" CssClass="form-control" AutoPostBack="true OnSelectedIndexChanged="ddlCountry_Selected

我正在创建一个表单,用户可以从下拉列表中选择一个国家,然后根据所选国家,在多选列表框中填写所有相关国家。现在,用户可以选择多个州,并根据选定的州,相应地填写另一个多选列表框(为城市指定)。如何才能做到这一点

Html:-

<asp:DropDownList ID="ddlCountry" runat="server" CssClass="form-control" AutoPostBack="true OnSelectedIndexChanged="ddlCountry_SelectedIndexChanged">/asp:DropDownList>

<asp:ListBox ID="ddlState" runat="server" SelectionMode="Multiple" CssClass="form-control multiselectmulticolumnddl" OnSelectedIndexChanged="ddlState_SelectedIndexChanged"></asp:ListBox>

<asp:ListBox ID="ddlCity" runat="server" SelectionMode="Multiple" CssClass="form-control multiselectmulticolumnddl"></asp:ListBox>

对于列表框,您需要使用



您还需要使用Ajax进行部分发布。

据我所知,您已经有了一个状态列表。因为你选择的指数在乡村火灾中发生了变化

protected void ddlState_SelectedIndexChanged(object sender, EventArgs e)
    {
    // Make a stateList where we store all stateIDs. 
    List<int> stateList = new List<int>();

    // Loop through all items and check if they are selected. If yes then we add them to our list of selected items.
    foreach (ListItem state in ddlState.Items)
    {
     if(state.selected){
     {
    //we add the ID of the state. 
     stateList.Add(state.ID)
     }
    }
 // get all city's assosiated with the states in the stateList
}
protectedvoid ddlState\u SelectedIndexChanged(对象发送方,事件参数e)
{
//制作一个stateList,在其中存储所有StateID。
List stateList=新列表();
//循环浏览所有项目并检查它们是否被选中。如果是,则将它们添加到所选项目列表中。
foreach(ddlState.Items中的ListItem状态)
{
如果(state.selected){
{
//我们添加状态的ID。
stateList.Add(state.ID)
}
}
//将所有城市与州列表中的州关联
}
这将为您提供一个StateID列表。使用此列表填写城市的

希望这就是你想要的

编辑:确保将此列表框指定为它自己的索引更改事件

<asp:ListBox ID="ddlState" runat="server" SelectionMode="Multiple" CssClass="form-control multiselectmulticolumnddl" OnSelectedIndexChanged="ddlState_SelectedIndexChanged"></asp:ListBox>


您尝试过什么吗?我使用OnSelectedIndexChanged=“ddlState\u SelectedIndexChanged”ddlState事件,但它只在我更改国家/地区下拉列表时起作用。你应该共享你的后端代码。请编辑帖子并共享你的后端代码。我仍然不知道应该使用哪个事件。我认为你在两个控件上调用相同的事件。你需要为两个控件创建不同的事件。我更改了主代码。这是你想要的吗寻找?
<asp:ListBox ID="ddlState" runat="server" SelectionMode="Multiple" CssClass="form-control multiselectmulticolumnddl" OnSelectedIndexChanged="ddlState_SelectedIndexChanged"></asp:ListBox>