2009-05-27 48 views
1

我有兩個DropDownLists。第一個是可見的,第二個不是。我想要這樣的:部分回發和客戶端操作

  1. 從第一個DDL中選擇值。
  2. 然後發生部分回傳 - 根據選擇從數據庫檢索數據。
  3. 二DDL填充
  4. 二DDL被顯示爲即幻燈片效果(JavaScript的)

我不希望有充分的回傳。最終效果應該是:

從第一個DDL中選擇值,然後在下面選擇,填充第二個DDL。

我沒有線索如何開始。

回答

6

因爲它聽起來像您使用的web表單的第一步,以解決您的問題將是你先研究一下該ASP.Net UpdatePanel控件,它提供的選項。

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

諮詢的字雖然UpdatePanel的乍看上去很大,但它通過線路發送100倍的數據比需要並迅速成爲一個緩慢的表演惹你做的更多的Ajax的東西。一旦功能變得複雜,您可以真正將自己編碼到嚴密的角落,因爲性能問題。

我會看看encosia.com上有關如何在Asp.net WebForms中使用jQuery的優秀教程,並查看是否可以學習該方法。 UpdatePanel不是那麼棒的工具,你會驚訝於jQuery能提供什麼。

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

另外你提到你想要一個 「滑」 的效果。我認爲要做到這一點,你必須深入瞭解asp。網絡ajax動畫擴展器的東西,該框架是不漂亮或愉快的工作。

1

您可以使用UpdatePanel開始。您可以更新事件以僅更新UpdatePanel中包含的內容。

官方鏈接ASP UpdatePanel Overview

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; 
}); 


});