Member 14760154 Ответов: 1

Автоматическое изменение значения после выпадающего списка, выбранного в C#


У меня проблема с моим проектом ,


Я создать 2 Управления dropdownlist ,какое значение для dropdownlist устанавливается выбранное значение из dropdownlist с другой ,

Я бы хотел, чтобы при выборе значения в dropdownlist1 значение dropdownlist2 было изменено

как я могу решить эту проблему ?

Что я уже пробовал:

Это мой код. ,


в моей aspx-файл.в CS

protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack == false)
            {
                Bind_CheckList();
            }
            Listcompany();
           
        }



private void Listcompany()
{
    ddl3.DataSource = comp.GetData();
    ddl3.DataTextField = "Company_Name";
    ddl3.DataValueField = "Company_ID";
    ddl3.DataBind();
    ddl3.Items.Insert(0, new ListItem("--Select--", ""));
}


protected void ddl1_SelectedIndexChanged(object sender, EventArgs e)
{
    string company = ddl3.SelectedValue.ToString();
    ddl1.DataSource = shift.GetDatashiftbycomp(company);
    ddl1.DataTextField = "Name_Shift";
    ddl1.DataValueField = "ID_Shift";
    ddl1.DataBind();
    ddl1.Items.Insert(0, new ListItem("--Select--", ""));
}


в моем aspx


 <asp:DropDownList ID="ddl3" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddl1_SelectedIndexChanged" >
    </asp:DropDownList>
<pre> <asp:DropDownList ID="ddl1" runat="server" AutoPostBack="false" ></asp:DropDownList>

1 Ответов

Рейтинг:
2

Richard Deeming

То Listcompany звонок должен быть в пределах if (!Page.IsPostBack) блок. Как бы то ни было, вы переписываете список каждый раз, когда он публикуется обратно, а это означает, что SelectedIndexChanged событие никогда не выстрелит.

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        Bind_CheckList();
        Listcompany();
    }
}

Вы также должны предоставить своим элементам управления значимые идентификаторы, а не просто принимать значения по умолчанию, предоставленные дизайнером Visual Studio. идентификатор ddl1 и ddl3 я ничего не скажу вам о том, для чего используются эти элементы управления.

Это особенно проблематично, когда ваши идентификаторы не совпадают с именами обработчиков событий - кто бы мог об этом догадаться ddl1_SelectedIndexChanged обрабатывает SelectedIndexChanged событие для ddl3? 🤦‍♂️