2009-02-09 10 views
0

En utilisant un panneau de mise à jour dans ASP.NET et avec l'aide d'un good tutorial on ListView de Matt Berseth j'ai accompli l'image ci-dessous.Utilisation de la méthode Ajax (comment le faire)

alt text http://www.balexandre.com/temp/StackOverflow_HowToStartUsingAJAX.png

Le comportement est, quand je clique sur le BOLD noms, les lignes ci-dessous ce nom avec des numéros sont effondrés.

Obtenir les données:

Ceci est un SDK WebService que je ne peux pas changer, et j'obtenir les noms en gras dans un appel et pour chaque nom en gras dans la liste des lignes dénombrables, dans cet exemple, j'avais appeler 4 fois le service Web

1 appel pour me fournir tous les noms en gras, puis 1 appel par nom en gras pour obtenir la liste secondaire.

Mon employeur m'a dit de ne pas le faire, mais seulement obtenir la ligne secondaire lorsqu'un utilisateur clique sur le nom gras ...

Que dois-je faire maintenant? Je suis un peu perdu ici. :(

Je sais que « ce qu'il faut faire » mais pas « comment faire »

  • J'ai créé une nouvelle ligne dans le code HTML à remplacer en utilisant jQuery
  • dans la méthode listView_ItemDataBound je change le javascript d'avoir cet ID de ligne afin d'être plus facile à utiliser la fonction javascript

Mais, comment puis-je montrer une image « chargement » dans cette ligne particulière et charger la liste secondaire?

(J'ai déjà un grand qui est utilisé pour afficher un message d'attente lors de la récupération de la liste des noms en gras)

alt text http://www.balexandre.com/temp/SuperOffice_forum_loadingIndicator.png

Ai-je besoin de créer un milieu WebService de mon propre pour demander ce données non?

gros problème est que Je dois vérifier « sur Soumettre » les cases à cocher dans les lignes secondaires ainsi :(

Je suis complètement perdu ici, quelqu'un peut me montrer la lumière s'il vous plaît?

Répondre

0

ASP.NET Ajax peut peut utiliser UpdateProgress la pour afficher une image ou quoi que ce soit.

<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="updPanel1" DisplayAfter="0"> 
    <ProgressTemplate> 
     <img alt="Please Wait" src="Images/processing.gif" /> 
    </ProgressTemplate> 
</asp:UpdateProgress> 

Vous pouvez utiliser javascript pour le déplacer vers une zone sur une page en définissant la position absolue à.

La meilleure façon de faire cette solution est de programmer la page who en utilisant des publications. Ensuite, mettez un Ajax UpdatePanel sur la page.

Les services Web que vous pouvez appeler sur l'événement click sur chaque ligne pour remplir les données. Mettez les données dans un panneau qui est caché. Utilisez Jquery et un script de démarrage pour l'afficher si vous voulez le faire glisser vers le bas.

Le meilleur conseil que je peux donner est de ne pas s'inquiéter encore d'avoir une interface utilisateur vraiment lisse. Faites fonctionner la page et récupérez les données du service Web. Ensuite, après que vous ayez fait cela, travaillez à améliorer l'interface utilisateur. C'est comme jouer de la musique, vous ne pouvez pas écrire toutes les parties d'une chanson à la fois. Vous commencez avec un thème, puis vous créez la mélodie, la deuxième et la troisième partie, etc. . .

Questions connexes