我的模型中有两个 DropDownList 元素。
[DisplayName("Site")]
public List<KeyValuePair<int, string>> Site { get; set; }
public int SelectedSiteID { get; set; }
<%= Html.DropDownListFor(model => model.SelectedSiteID, new SelectList(Model.Site, "Key", "Value"))%>
[DisplayName("Data Center")]
public List<KeyValuePair<int, string>> DataCenter { get; set; }
public int SelectedDataCenterID { get; set; }
<%= Html.DropDownListFor(model => model.SelectedDataCenterID, new SelectList(Model.DataCenter, "Key", "Value"))%>
当用户对第一个选择进行更改时,我试图在我的第二个 DropDownList 中修改 ListItem 的集合。
我认为这可以通过以下方式实现,但我想确认这是一种很好的做法:
- 使用 jQuery,绑定到第一个 DropDownList 的更改事件。
- 响应更改事件时——使用新选择的值向服务器发送 AJAX 请求。
- 服务器将以 JSON 响应,该 JSON 表示第二个 DropDownList 的 ListItem 对象集合。
- 使用 jQuery,我修改了第二个 DropDownList 的选择,使其包含返回的 JSON 元素。
这一切似乎有点……非 MVC3y,如果你愿意的话。这是实现我所要求的标准方式,还是有更清晰的方式?