2009-05-27 4 views
1

J'ai deux DropDownLists. La première est visible et la seconde ne l'est pas. Je voudrais avoir quelque chose comme ceci:PostBack partiel et actions côté client

  1. Sélectionnez la valeur du premier DDL.
  2. Puis la publication partielle se produit: les données sont extraites de la base de données en fonction de la sélection.
  3. deuxième est peuplée
  4. DDL
  5. deuxième DDL est représenté avec effet à savoir coulissant (javascript)

Je ne veux pas avoir plein postback. L'effet final doit être:

Sélectionnez la valeur du premier DDL, puis au-dessous, glissez vers le bas le deuxième DDL qui est rempli.

Je ne sais pas par où commencer.

Répondre

6

Comme il ressemble à votre aide de webforms la première étape pour résoudre votre problème serait pour vous d'abord la recherche du contrôle ASP.Net UpdatePanel et les options qu'elle offre.

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

Petit conseil cependant, UpdatePanel ressemble beaucoup à première vue, mais il envoie 100 fois plus de données à travers le fil que nécessaire et devient rapidement une étoffe pagaille performante plus lent Ajax que vous faites. Vous pouvez vraiment vous coder dans des virages serrés en raison des problèmes de performance une fois que la fonctionnalité se complique.

Jetez un coup d'oeil aux grands tutoriels sur encosia.com sur la façon d'utiliser jQuery avec Asp.net WebForms et voyez si vous pouvez apprendre cette méthode à la place. UpdatePanel n'est pas un outil génial et vous serez surpris par ce que jQuery peut vous offrir.

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

Vous avez également dit que vous vouliez un effet "slide". Je pense que pour faire cela, vous devrez plonger dans l'asp.trucs ajax d'animation net ajax et ce cadre n'est pas joli ou agréable de travailler avec.

1

Vous pouvez commencer en utilisant UpdatePanel. Vous pouvez mettre à jour des événements pour mettre à jour uniquement le contenu inclus dans le UpdatePanel.

Offical Lien ASP UpdatePanel Overview

1

Vous devriez regarder

Cascading Drop Down

et en utilisant jQuery pour changer la div de la seconde liste déroulante, Voir here

et le jQuery pertinent

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

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


});