0

我有一个小问题:我在 asp.net mvc4 中工作,我需要解决这种情况:

我有一个带有文本框和多个下拉列表的页面。这些下拉列表的值与用户在文本框中输入的内容有关。IE:

如果在文本框中有'foo'我想要ddl1设置 on 'A'ddl2on'1'ddl3on 'True'

当文本框包含主键时,这些值被绑定到一个 sql 数据库中。所以我有一个这样的数据库:

'foo' (key) , 'A', '1', 'True'
'bar'       , 'B', '1', 'False'
'qux'       , 'C', '2', 'True'

等等。

我只想根据文本框中的内容,将页面设置ddls为对应的值。

4

2 回答 2

0

根据您在数据库中有多少行,您应该做的第一件事是获取所有行并缓存数据,这样您就不会对每个 ddl 都有数据库请求。

然后,您需要决定为文本框捕获哪个事件。我建议您使用 KeyUp(过滤 Tab 或 Enter)。

然后在此事件处理程序中更改第一个 ddl 的 SelectedValue 并为其显式触发“SelectedValueChanged”(检查是否必须显式完成)。

这样,您可以级联您拥有的所有 ddls。

我不确定存储值的最佳方式是什么。您可以创建一个也处理关系的类或使用多个列表(非常松散耦合)。第一个肯定是更好的解决方案。

于 2013-03-07T12:31:25.967 回答
0

尝试Knockout或其他 JavaScript MVVM 绑定框架。

您必须将(当前数据库)数据作为 JSON 转储到 JavaScript 中,然后将其绑定到适当的元素。

见这里: http: //knockoutjs.com/

于 2013-03-07T12:17:25.883 回答