我正在使用MVC 4.0,我需要一个包含3个下拉列表和一个表格的页面。
从DDL1(例如用户)中选择项目时,将填充DDL2(例如,帐户)。 从DDL2(帐户)中选择项目时,将填充DDL3(例如卡片)。 当从DDL3中选择一个项目时,该表必须显示一个对象列表,例如交易(与金额等)。
所以我创建了一个TransactionManagementController并创建了一个Index Action来加载用户并最初显示它们。
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调用它吗?
如果我创建一个新的Action,那么我将不得不创建一个新的View来更改之前选择的值。
答案 0 :(得分:0)
当我需要级联下拉列表时,我将使用jQuery $.load
并渲染PartialView。使用技术的示例是https://stackoverflow.com/a/1721623/1015010