我有两个 DropDownLists。第一个可见,第二个不可见。我想要这样的东西:
- 从第一个 DDL 中选择值。
- 然后发生部分回发 - 根据选择从数据库中检索数据。
- 填充第二个 DDL
- 第二个 DDL 显示为 ie 幻灯片效果 (javascript)
我不想有完整的回发。最终效果应该是:
从第一个 DDL 中选择值,然后在下方向下滑动填充的第二个 DDL。
我不知道如何开始。
我有两个 DropDownLists。第一个可见,第二个不可见。我想要这样的东西:
我不想有完整的回发。最终效果应该是:
从第一个 DDL 中选择值,然后在下方向下滑动填充的第二个 DDL。
我不知道如何开始。
由于听起来您使用网络表单,因此解决问题的第一步是首先研究 ASP.Net UpdatePanel 控件及其提供的选项。
http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.aspx
忠告虽然,UpdatePanel 乍一看看起来很棒,但它通过网络发送的数据比必要的多 100 倍,并且随着您执行的 Ajax 操作越多,它很快就会变得性能缓慢。一旦功能变得复杂,由于性能问题,您真的可以将自己编码到死角。
我会看一下 encosia.com 上关于如何将 jQuery 与 Asp.net WebForms 一起使用的精彩教程,看看您是否可以学习该方法。UpdatePanel 并不是一个很棒的工具,您会对 jQuery 提供的功能感到惊讶。
http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/
你还提到你想要一个“幻灯片”效果。我认为要做到这一点,您将不得不深入研究 asp.net ajax 动画扩展器的东西,而且该框架使用起来并不漂亮或令人愉快。
您可以从使用 UpdatePanel 开始。您可以更新事件以仅更新 UpdatePanel 中包含的内容。
使用 UpdatePanel 是在 ASP.NET 中获得 AJAX 行为的一种简单方法。UpdatePanel 将为您处理大部分 AJAX。
这是一个很好的教程:
http://www.asp.net/Ajax/Documentation/Live/tutorials/IntroductionUpdatePanel.aspx
也许来自 Ajax 控件工具包的 Cascading Dropdown 控件可以帮助您:
http ://www.asp.net/AJAX/AjaxControlToolkit/Samples/CascadingDropDown/CascadingDropDown.aspx