【问题标题】:MVC 3 Cascading DropDownListsMVC 3 级联下拉列表
【发布时间】:2011-10-05 01:01:07
【问题描述】:

我不知道如何准确地使用 Cascading 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 ...第一个类别,然后是项目

@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 的值?应该如何发送?

回答

我从这个网站上找到了答案,只是想知道我做了什么

http://kmsystems.squarespace.com/journal/2009/5/31/aspnet-mvc-cascading-dropdownlists.html

【问题讨论】:

  • 愿意分享一些代码吗?你可以通过 jQuery-Ajax 顺便说一句。
  • 嗯,事情是我不知道从哪里开始......我有两个 DropDownLists .. 一个依赖于另一个.. 我可以通过将它们放在 ViewData 上来获取值在代码隐藏中,但在 ActionResult 的代码隐藏中,我不知道如何检索两个 DropDownLists 的 ID ...
  • 所以你确实有一些代码。把它贴在这里,让我们看看是什么给你带来了麻烦。

标签: c# javascript asp.net-mvc-3 drop-down-menu cascadingdropdown


【解决方案1】:

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

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

你有 4 个元素:

  1. 初始表单加载(未选择国家/地区,未选择州)
  2. 已选择国家,人口稠密
  3. 选择国家/地区,选择州
  4. 错误处理(国家和州组合无效)

当我遇到这种情况时,我会在类似于您的示例的视图中处理第 1 步和第 3 步。

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

对我来说,我将通过创建 javascript 控制器并使用 jquery 发布和返回在选择 Country 下拉框时触发的 json 对象来解决第 2 步。

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

如果您需要 json / jquery 的示例,请参阅 The Music Store 示例中的购物车。

【讨论】:

  • 是的。是这样的,我要阅读音乐商店 PDF 谢谢,如果我找到解决方案,我会在这里回帖
  • 我在 MVC 音乐商店中没有找到解决方案,它们显示了多个 DropDownList,但正如您所提到的,它们不是我需要的那样。你能告诉我你将如何处理第二步,然后使用 jQuery 处理第三步以及 ActionResult 如何接收值吗?
  • 我在这里找到了答案kmsystems.squarespace.com/journal/2009/5/31/… 但你是对的.. 我不得不使用 JSON / jQuery
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 2021-03-04
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多