我正在使用MVC 4.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调用它吗?
如果我创建一个新的动作,那么我将不得不创建一个新的视图来改变以前选择的值。
部分视图应包含哪些内容?第二个下拉列表根据所选的if从第一个下拉列表填充? – 2013-02-22 16:11:36
是的,就是这样。您可以使用'$ .load'将数据传递给控制器(例如用户ID或其他),并根据部分视图中的选择返回适当的选择。 – da7rutrak 2013-02-22 16:17:38