部分PostBack和客户端的操作

时间:2009-05-27 06:37:11

标签: asp.net asp.net-ajax partial-postback

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

  1. 从第一个DDL中选择值。
  2. 然后发生部分回发 - 根据选择从数据库中检索数据。
  3. 填充第二个DDL
  4. 显示第二个DDL,即幻灯片效果(javascript)
  5. 我不想要完整的回发。最终的效果应该是:

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

    我不知道如何开始。

5 个答案:

答案 0 :(得分:6)

由于听起来像您使用webforms,解决问题的第一步是首先研究ASP.Net UpdatePanel控件及其提供的选项。

http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.aspx

建议之词,UpdatePanel乍一看看起来很棒,但是它发送的数据超过了必要的100倍,并且很快就会变得很麻烦,因为你做的Ajax越多。由于功能变得复杂时的性能问题,您可以将自己编码到紧急角落。

我将看看关于如何在Asp.net WebForms中使用jQuery的关于encosia.com的精彩教程,看看你是否可以学习这种方法。 UpdatePanel不是一个很棒的工具,你会惊讶于jQuery可以提供的东西。

http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/

你还提到你想要一个“幻灯片”效果。我认为要做到这一点,你将不得不深入研究asp.net ajax动画扩展器的东西,而且这个框架并不适合使用。

答案 1 :(得分:1)

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

官方链接ASP UpdatePanel Overview

答案 2 :(得分:1)

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

这是一个很好的教程:

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

答案 3 :(得分:1)

你应该看看

Cascading Drop Down

并使用jQuery更改第二个下拉列表的div, 见here

和相关的jQuery

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

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


});

答案 4 :(得分:0)

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