C# 如何通过另一个下拉列表中的操作填充下拉列表?

C# 如何通过另一个下拉列表中的操作填充下拉列表?,c#,asp.net-mvc,razor,asp.net-mvc-4,C#,Asp.net Mvc,Razor,Asp.net Mvc 4,我正在使用MVC4.0,我需要一个包含3个下拉列表和一个表的页面 当从DDL1(例如用户)中选择项目时,则填充DDL2(例如帐户)。 当从DDL2帐户中选择项目时,则填充DDL3,例如卡片。 当从DDL3中选择一个项目时,表格必须显示对象列表,例如带有金额的交易等 因此,我创建了一个TransactionManagementController并创建了一个索引操作,用于加载用户并在最初显示它们 public ActionResult Index() {

我正在使用MVC4.0,我需要一个包含3个下拉列表和一个表的页面

当从DDL1(例如用户)中选择项目时,则填充DDL2(例如帐户)。 当从DDL2帐户中选择项目时,则填充DDL3,例如卡片。 当从DDL3中选择一个项目时,表格必须显示对象列表,例如带有金额的交易等

因此,我创建了一个TransactionManagementController并创建了一个索引操作,用于加载用户并在最初显示它们

 public ActionResult Index()
        {
            var vm = new VmTransactionManagement
                {
                    Users = db.Users.ToList()
                };

            return View(vm);
        }

<th>User:</th>
        <td>@Html.DropDownListFor(m => m.SelectedUser,
                                  Model.UsersSelectList,
                                  "-- Select One --")</td>
此外,我还为此控制器创建了一个视图模型:VmTransactionManagement,其中包含一些其他需要的对象

那么,现在我该如何编写代码,以便在选择DDL1时传递userId,然后填充DDL2

我是否应该创建一个新的动作/视图并通过Ajax调用它


如果我创建了一个新操作,那么我必须创建一个新视图来更改以前选择的值。

当我需要级联下拉列表时,我将使用jQuery$.load并呈现PartialView。使用该技术的一个示例是

局部视图应该包含什么?第二个下拉列表是根据第一个下拉列表中选择的if填充的?是的,就是这样。您可以使用$.load将数据传递给控制器,例如用户ID或其他任何内容,并根据部分视图中的选择返回正确的选择。