Question

Quelle est la meilleure méthode pour gérer une situation dans laquelle vous avez une liste déroulante ASP.Net utilisée pour créer un lien vers une autre URL

édité pour plus de clarté

Voici le scénario de base:

Liste déroulante avec 5 villes liées

La sélection de l'une des villes doit m'envoyer une URL basée sur la ville

À l'heure actuelle, je poste en utilisant l'option " OnSelectedIndexChanged " événement, puis gestion de l'événement et redirection vers la page appropriée.

Toutefois, cela provoque 2 hits sur le serveur par ville sélectionnée, 1 pour gérer la publication et la redirection, puis un autre pour afficher la page réelle.

L'utilisation de javascript personnalisé pour créer une URL est-elle la meilleure option?

Était-ce utile?

La solution

Vous pouvez ajouter un gestionnaire côté client pour l'événement de sélection modifié, puis le rediriger vers la page souhaitée en fonction de la valeur sélectionnée:

<asp:DropDownList ID="ddl" runat="server"
  onchange="document.location.href = this.value;" >
    <asp:ListItem Text="a" Value="http://url1"></asp:ListItem>
    <asp:ListItem Text="b" Value="http://url2"></asp:ListItem>
    <asp:ListItem Text="c" Value="http://url3"></asp:ListItem>
    <asp:ListItem Text="d" Value="http://url4"></asp:ListItem>
</asp:DropDownList>

Autres conseils

Définissez l'autopostback sur false et ajoutez-le à l'événement côté client onchange (en supposant que la valeur contienne l'URL complète, si ce n'est pas le cas, modifiez-la comme il convient):

window.navigate(this.options[this.selectedIndex].value);

Je me demande juste, pourquoi ne pas récupérer les informations sur la ville via AJAX (plusieurs tutoriels vidéo sont disponibles sur www.asp. net / learn ) et montrer à l'utilisateur les informations sur la ville au lieu de créer d'autres sauts de page supplémentaires?

ce n’est qu’une idée, une idée Web 2.0:)

Si la page est lourde et que les temps de rendu vous préoccupent, vous pouvez utiliser ajax pour afficher les résultats de la requête. Le hit du serveur pour traiter les données de publication et la redirection doit être minimal et ne pas en valoir la peine côté client. Personnellement, je me concentrerais davantage sur l'affichage des données que l'utilisateur souhaite la première fois.

Normalement, je suis d’accord, mais il est nécessaire d’avoir une URL concrète pour chaque page + de régénérer d’autres parties de la page en cliquant sur l’URL.

Merci pour les suggestions cependant!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top