使用DropDownListFor的依赖下拉列表

时间:2013-09-04 15:48:17

标签: c# asp.net-mvc razor

我在MVC Razor-View中得到了两个下拉:

@Html.DropDownListFor(x => x.SelectedPrefix, Model.GetAssignablePrefixes() , new { @id = "prefixDropDown" }) 
@Html.DropDownListFor(x => x.SelectedSuffix, Model.GetAssignableSuffixes(Model.SelectedPrefix) , new { @id = "suffixDropDown" })

第一个下拉列表的选择应根据第一个下拉列表中选择的值更改第二个下拉列表的内容。 (因此调用方法GetAssignableSuffixes(Model.SelectedPrefix))

由于计算非常复杂,我不希望将所有逻辑都放入JavaScript方法

我在SO处发现了一些“非常”类似的问题,但是没有使用DropDownListFor。有什么方法吗?

1 个答案:

答案 0 :(得分:2)

首次呈现页面时,将在服务器上评估DropDownListFor。您将不得不至少部分地在客户端执行此操作。您可以通过在第一个下拉列表更改时执行AJAX调用将计算推送到服务器,然后使用AJAX调用返回的结果填充第二个下拉列表。