Существует проблема, которую я не смог решить, из-за которой в форме есть кнопка «Добавить элемент». При нажатии открывается модальное окно, содержащее два раскрывающихся списка. Первый раскрывающийся список предварительно заполнен набором элементов, и в соответствии с этим выбором 2-й раскрывающийся список в идеале должен обновляться со своим собственным набором элементов.
Это первый выпадающий список, который содержит тип
<asp:DropDownList ID="DDLType" CssClass="form-control" runat="server" OnSelectedIndexChanged="LoadSubTypes" AutoPostBack="true">
<asp:ListItem Value="Automobile">Automobile</asp:ListItem>
<asp:ListItem Value="Aeroplane">Aeroplane</asp:ListItem>
<asp:ListItem Value="Boat">Boat</asp:ListItem>
</asp:DropDownList>
Это второй раскрывающийся список, который в настоящее время пустует, пока не будет сделан выбор из первого раскрывающегося списка.
<asp:DropDownList ID="DDLSubType" CssClass="form-control" runat="server">
</asp:DropDownList>
С первым DDL, где есть OnSelectedIndexChange, это код позади.
protected void LoadSubTypes(object sender, EventArgs e) {
string strSubTypeList = "";
switch (DDLType.SelectedValue)
{
case "Automobile":
strSubTypeList = "Car#Motorbike#Scooter";
break;
case "Aeroplane":
strSubTypeList = "Commercial#Private";
break;
case "Boat":
strSubTypeList = "Boat#Jetski";
break;
}
StringBuilder sbSubTypes = new StringBuilder();
Char delimiter = '#';
String[] substrings = strSubTypeList.Split(delimiter);
foreach (var substring in substrings)
{
DDLSubType.DataTextField = substring;
DDLSubType.DataValueField = substring;
DDLSubType.DataBind();
} }
Обычно этот тип установки хорошо работает для меня, но единственное отличие на этот раз в том, что он загружен в модал. Когда я делаю выбор из DDL, происходит то, что модальный режим закрывается и вызывает обратную передачу. Это сбрасывает любые значения, которые были затем изменены динамически.
Мое идеальное поведение здесь состоит в том, что, когда выбор сделан на первом DDL, второй DDL обновляется в модальном режиме и не закрывается.
Любая помощь будет принята с благодарностью!