1

我有两个 DropDownLists。第一个可见,第二个不可见。我想要这样的东西:

  1. 从第一个 DDL 中选择值。
  2. 然后发生部分回发 - 根据选择从数据库中检索数据。
  3. 填充第二个 DDL
  4. 第二个 DDL 显示为 ie 幻灯片效果 (javascript)

我不想有完整的回发。最终效果应该是:

从第一个 DDL 中选择值,然后在下方向下滑动填充的第二个 DDL。

我不知道如何开始。

4

5 回答 5

6

由于听起来您使用网络表单,因此解决问题的第一步是首先研究 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 动画扩展器的东西,而且该框架使用起来并不漂亮或令人愉快。

于 2009-05-27T06:49:09.053 回答
1

您可以从使用 UpdatePanel 开始。您可以更新事件以仅更新 UpdatePanel 中包含的内容。

官方链接ASP UpdatePanel 概述

于 2009-05-27T06:44:36.427 回答
1

使用 UpdatePanel 是在 ASP.NET 中获得 AJAX 行为的一种简单方法。UpdatePanel 将为您处理大部分 AJAX。

这是一个很好的教程:

http://www.asp.net/Ajax/Documentation/Live/tutorials/IntroductionUpdatePanel.aspx

于 2009-05-27T06:44:52.383 回答
1

你应该看看

级联下拉

并使用 jQuery 更改第二个下拉列表的 div,请参见此处

和相关的 jQuery

<script type="text/javascript">
$(document).ready(function(){

$(".btn-slide").click(function(){
    $("#panel").slideToggle("slow");
    $(this).toggleClass("active"); return false;
});


});

于 2009-05-27T06:47:31.227 回答
0

也许来自 Ajax 控件工具包的 Cascading Dropdown 控件可以帮助您:
http ://www.asp.net/AJAX/AjaxControlToolkit/Samples/CascadingDropDown/CascadingDropDown.aspx

于 2009-05-27T07:21:19.657 回答