我不知道如何确切地级联DropDownLists

我的情况是下一个:

类别中有项目,项目中有项目的数量取决于机构

我想有你选择一个类别,下一个被填充,当你做出一个选择第一与该类别中的中的两个DropDownLists一个,当你选择项目的表的数量为每设立所示。

好的,这就是我的ActionResult

public ActionResult ItemByClinic(Guid? Item_ID, Guid? Category_ID)
    {
        ViewData["Categories"] = InventoryDb.Categories;
        if (Category_ID != null)
        {
            ViewBag.Category_ID = Category_ID;
            ViewData["Items"] = InventoryDb.Items.Where(i => i.Category.ID == Category_ID);
            if (Item_ID != null)
            {
                ViewBag.Item_ID = Item_ID;
                ViewData["Inventory"] = InventoryDb.Items.Single(i => i.ID == Item_ID).Inventory;
            }
        }
        return View();
    }

然后,我将有两个DropDownLists,它们应该将值发布到Item_ID和Category_ID ...第一个类别,然后是item
@Html.DropDownList("Categories", new SelectList((IQueryable<Inventario_Data.Models.Category>)ViewData["Categories"], "ID", "Name", ViewBag.Category_ID), "Select an Item Category", new { onchange = "window.location.href = '/Inventory/ItemByClinic/Categody_ID=' + this.value" })

这就是我不知道该怎么做...我应该如何放置URL或应该如何发送它,所以当我发送其他ID时不会混淆,我可以接收到我的ID

如何在ActionResult中接收每个DropDownList的值?应该如何发送?



我从这个网站找到答案,只是想让我知道

最佳答案

您描述问题的方式听起来像是您试图一次做太多事情。

为了更容易解释,我将使用“国家/地区”查询用例。 (当我选择“国家”时,将填充“国家”下拉列表。)

您有4个元素:

  • 初始表单加载(未选择国家/地区,未选择州)
  • 选择的国家/地区,国家填充
  • 选择国家,选择州
  • 错误处理(无效的国家和州组合)

  • 当我遇到这个问题时,我将在与您的示例类似的 View 中处理步骤1和3。

    那么,您是否陷入了步骤2?当您说“我应该如何放置URL或如何发送它”时,您是什么意思?

    对我来说,我将通过创建javascript Controller 解决第2步,并使用jquery来发布并返回选中“国家/地区”下拉框时触发的json对象。

    我发现MVC Music StoreNerd Dinner示例非常有帮助。

    如果您需要json / jquery的示例,请参阅“音乐商店”示例中的购物车。

    10-08 16:37