没有回发的级联下拉列表

发布于 2024-09-13 21:00:06 字数 564 浏览 5 评论 0原文

所以,情况如下:

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

现在,要求是:

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

障碍:

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

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

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

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

PS-我是一名初学者 ASP.Net C# 程序员,对 Javascript 毫无了解。

So, here's the scenario:

I have a .aspx page having two dropdowns, the data to be loaded in them is usually static(but may change everyday), the first dropdown always displays the main categories and the second dropdown is initially empty.

Now, the requirement is:

As the user selects a category from the first dropdownlist, the second dropdownlist should populate based on the selection just made.

The road-block:

This should be done without a postback.
My boss wants something like the drop downs on this page.

So what I gather is, I'd have to retrieve the data from the database on page load event, store it in the cache(or somewhere else?), then use javascript to handle the selectedindexchanged event of the 1st dropdown, use the data from database stored at pageload and populate the second dropdown according to the selected value of first dropdown.

It's been 2 days since I'm stuck on this and can't seem to find a feasible solution, and in need of great help.

Thanks in advance for throwing any light on the matter.

P.S.- I'm a beginner ASP.Net C# programmer and have no knowledge of Javascript.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

静待花开 2024-09-20 21:00:06

Microsoft 发布了 Ajax 控制工具包,它具有 级联下拉列表控件

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

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

Microsoft released the Ajax Control Toolkit which has a Cascading dropdownlist control.

Edit: to boost performance on retrieving the data I suggest that you make use of the Cache object in ASP.NET and cache the data as close to the place as possible where you need it to give it a boost.

Another trick you can do is to send all the information as a json object when you render the page the first time so you don't need to use webservice calls but simply use javascript parsing to read out the json object and extract the information needed from it to fill up your second dropdownlist.

爱你不解释 2024-09-20 21:00:06

困难的方法:真正在客户端进行。 此处有一个示例可以帮助您入门。

简单的方法.. 使用 Ajax UpdatePanel 并在服务器端进行,但 UpdatePanel 不会进行完整的回发。 (教程此处

UpdatePanel 的编码将变得更加容易和快捷。

The hard way: Truly do it client-side. There's a sample here to get you started.

The easy way.. Use an Ajax UpdatePanel and do it server-side, but the UpdatePanel will make it not post do a full post-back. (Tutorial here)

The UpdatePanel will be WAY easier and much quicker to code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文