Заполните DropDown / Select на основе значения, выбранного в другом DropDown

Я начинающий разработчик, но я наткнулся на случай, который не могу решить. Я использую ASP.NET MVC с C # плюс некоторый JavaScript (JQuery, JSON ...).

Что мне нужно сделать, это заполнить раскрывающийся список на основе значения, выбранного в другом. Это кажется простым (и я знаю, что это так), но эточастный случай ускользает от меня. Я потерял много часов, и я все еще склоняю голову. Если кто-то может помочь, я был бы очень благодарен.

Мой код выглядит следующим образом:

У меня есть объект класса «Задача», у которого есть и Фаза, и Заказ. Заказы, доступные пользователю во втором раскрывающемся списке, будут зависеть от этапа, на который была назначена эта задача в раскрывающемся списке. Заказ - это просто Int32 (заказ из заказа по расписанию, а не из бизнес-заказа)

Первый DropDown использует этот IF, чтобы проверить, является ли сеанс пустым, затем переходит к отображению сообщения по умолчанию или возвращает выбранное значение по умолчанию.

<%
 if (TempData["TaskObject"] != null)
    {
        var Phases = new SelectList(ViewData["phaseList"] as List<Phase>, "Phase_ID", "Phase_Name", ((Task)TempData["TaskObject"]).Phase_ID.ToString());

    %>
        <%=Html.DropDownList("Phase_ID", Phases, new { @class = "textbox"})%>
   <%}%>
   <%else
      {%>
        <%=Html.DropDownList("Phase_ID", (new SelectList((List<Phase>)ViewData["phaseList"], "Phase_ID", "Phase_Name")),
                                                 "Please Choose...",
                                                 new { @class = "textbox"})%>
    <%} %>

Второй DropDown очень похож на первый, но его SelectList представляет собой список списков. Каждый список содержит возможные варианты для каждого варианта в первом DropDown. Там не будет много, так что не беспокойтесь об этом.

<%if (TempData["TaskObject"] != null)
    {
        var orderList = (ViewData["orderList"] as List<List<int>>)[0]; 
        var orders = new SelectList(orderList, ((Task)TempData["TaskObject"]).Phase_ID.ToString());

 %>
       <%=Html.DropDownList("Order_ID", orders, new { @class = "textbox"})%>
  <%}%>
<%else
    {%>
        <%=Html.DropDownList("Order_ID", (new SelectList((List<int>)ViewData["phaseList"], "Phase_ID", "Phase_Name")),
                                            "Please Choose...",
                                            new { @class = "textbox"})%>
  <%} %>

Теперь возникает вопрос: как заставить второй DropDown изменить свои значения в зависимости от выбранного значения в первом DropDown? Я очень плохо разбираюсь в JavaScript (хотя начал изучать). Мы используем JQuery, JSON в проекте.

Заранее спасибо за внимание.

Ответы на вопрос(3)

Ваш ответ на вопрос