Как получить значение из выпадающего списка? - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть два DropDownList, которые связаны между собой внешним ключом. Категория и подкатегория (с categoryid в качестве внешнего ключа). Я извлекаю Categories из базы данных и заполняю их как: DB CLASS

public class DB
 {
     public static List<SelectListItem> Categories {
              get{
                   List<SelectListItem> list = new List<SelectListItem {
                    new SelectListItem{Text = "Category1" , Value = "categoryId1"},
                    new SelectListItem{Text = "Category2" , Value = "categoryId2"}
                 };
        return list;
     }
    public static List<SelectListItem> SubcategoryWithCategoryId(int categoryId)
    {...}
 }

Теперь я могу заполнить раскрывающийся список Subcategory с помощью метода, который ожидает, что categoryId будет входным параметром:
Просмотр

 @Html.DropDownList("Category", DB.Categories, "Select Category", new { style = "width:80px" })

 @Html.DropDownList("Subcategory", DB.SubcategoryWithCategoryId(categoryId), "Select Subcategory", new { style = "width:80px" })

Я новичок в ASP. NET MVC и использую ADO. NET для доступа к базе данных. Как теперь я могу получить поле значения выбранного элемента, чтобы я мог поместить его в свой DB.SubcategoryWithCategoryId(categoryId), чтобы получить подкатегории, сопоставленные с выбранной категорией?

Контроллер

public ActionResult Index()
        {
            return View();
        }

1 Ответ

1 голос
/ 28 апреля 2020

Вам нужно обработать замену выпадающего как

 @Html.DropDownList("Category", DB.Categories, "Select Category", new { style = "width:80px", 
onchange = "location.href='@Url.Action("Index", "Controller", new { category= "yourcategory"})'" })

И добавить категорию в качестве параметра действия индекса

public ActionResult Index(string category)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...