【发布时间】:2010-11-14 12:10:06
【问题描述】:
我确信这是一种常见的操作,但我很难找到解决方案。这是一个网页上的两个<select> 的问题,其中一个依赖于另一个的可能值列表。
我在网页上有一个包含子状态代码的下拉列表,其可能值列表取决于页面上另一个包含状态代码的下拉列表中的选择。在我的控制器中,我从数据库中检索可能的状态代码列表,并将值放入一个 SelectList 中,DropDownList HTMLHelper 使用该列表在视图中构建我的选择列表。我检索包含状态代码的模型记录,并使用该状态代码值在数据库中查找子状态的可能值,然后将该列表放在另一个 SelectList 中以用于第二个下拉列表。当用户更改状态下拉列表中的选择时,页面会向服务器进行 ajax 回调,以使用新的可能值列表重新填充子状态下拉列表。
空状态码确实不是有效值,但这是用于纠正此类问题的质量控制应用程序。我的问题是模型记录上的当前状态代码 可能 有时为空,因此我的第二个下拉列表的子状态值列表将为空。不幸的是,似乎没有办法创建一个空的 SelectList 以传递给 DropDownList HTMLHelper,但我的下拉列表必须在页面加载时创建以支持我的 ajax 解决方案。
有没有人想出一种高效且超级灵巧的方法来处理此类情况?或者,如果子状态 SelectList 为空,并且如果它使用不同的 HTML 来生成下拉列表,我是否需要求助于一些丑陋的东西,比如检查我的视图?在我看来,能够生成一个空的 SelectList 以移交给 HTMLHelper 将是一个合理的解决方案。我欢迎任何想法。
【问题讨论】:
标签: asp.net-mvc