c# - 没有回发的级联下拉列表

标签 c# javascript asp.net drop-down-menu

所以,场景如下:

我有一个 .aspx 页面,有两个下拉列表,要在其中加载的数据通常是静态的(但可能每天都会更改),第一个下拉列表始终显示主要类别,第二个下拉列表最初为空。

现在,要求是:

当用户从第一个下拉列表中选择类别时,第二个下拉列表应根据刚刚所做的选择进行填充。

障碍:

这应该在没有回发的情况下完成。
我的老板想要类似 this 上的下拉菜单的东西页。

所以我收集的是,我必须在页面加载事件中从数据库检索数据,将其存储在缓存中(或其他地方?),然后使用 javascript 处理第一个下拉列表的 selectedindexchanged 事件,使用页面加载时存储的数据库中的数据,并根据第一个下拉列表的选定值填充第二个下拉列表。

我被这个问题困扰已经两天了,似乎找不到可行的解决方案,需要很大的帮助。

预先感谢您对此事提供任何线索。

P.S.- 我是一名 ASP.Net C# 初学者,对 Javascript 毫无了解。

最佳答案

微软发布了Ajax Control Toolkit其中有 Cascading dropdownlist control .

编辑:为了提高检索数据的性能,我建议您使用 ASP.NET 中的 Cache 对象,并将数据缓存到尽可能靠近您需要的位置这是一个插入。

您可以做的另一个技巧是在第一次渲染页面时将所有信息作为 json 对象发送,这样您就不需要使用 webservice 调用,而只需使用 javascript 解析来读出 json 对象并提取从中填写您的第二个下拉列表所需的信息。

关于c# - 没有回发的级联下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3449832/

相关文章:

c# - 如何实现 "swapping"列表?

javascript - SAP UI5如何刷新表中的模型数据

javascript - 当我单击带有远程 : true, 的链接时,并未初始化插件

jquery - 提示在 $.get 上输入 excel 文件

jquery - 如何通过将下拉 div 放置在相关控件的上方或下方来在屏幕上显示?

c# - 当 DropDownList Filter 的值不是 ALL 时,如何删除 GridView 中的整个第一列?

c# - NUnit:为什么 Assert.Throws<T> 没有捕获我的 ArgumentNullException?

c# - 获取非显式字段偏移量

c# - 如何在 AutoMapper 中添加自定义逻辑?

javascript - Timing api 中的响应结束时间