ASP.NET 2.0 - Besoin de programmation pour cliquer sur un lien
Est-il possible de cliquer sur un lien par programmation, de sorte qu'il a les mêmes effets que si l'utilisateur a cliqué sur elle?
Exemple:
J'ai un ASP.NET LinkButton:
<asp:LinkButton id="lnkExport" runat="server" CssClass="navclass">Export</asp:LinkButton>
J'ai un lien sur une barre latérale diriger à l' .page aspx qui a cette linkbutton sur elle. Pour diverses raisons, je ne peux pas avoir le code pour le LinkButton exécutée jusqu'à ce que la page est rafraîchie -- donc, je suis à la recherche d'un moyen de forcer l'-cliquez sur ce LinkButton dans mon code une fois que la page est complètement chargée. Est-il un simple/faisable façon d'accomplir cette? Si elle implique le déclenchement de l'événement, veuillez fournir un exemple de code si vous le pouvez. Merci.
- J'ai oublié d'ajouter... je suis à l'aide de C# dans mon code-behind.
- Pourquoi ne pas simplement rediriger?
- Je suis le téléchargement d'un fichier à l'aide de la Réponse HTTP de l'objet, de sorte que la Redirection n'est pas une option. En outre, le Lien pointant vers cette page n'est pas généré par mon application, mais une app externe qui génère les liens à partir d'un fichier XML.
Vous devez vous connecter pour publier un commentaire.
Rashack post de montrer comment le faire. Vous pouvez le faire en javascript.
Si vous voulez le feu après un autre événement, vous pouvez ajouter du code en c# pour ajouter un appel à cette fonction sur le côté client lors du chargement de la page.
Déclenchement d'un événement de clic par programmation sur un lien qui va déclencher l'événement comme “onclick”, mais pas l'action par défaut(href).
Et depuis linkbuttons sortir comme hrefs, de sorte que vous pouvez essayer de le faire avec Javascript.
Je pense certainement que, il ya une conception et la mise en œuvre des défauts qui vous oblige à conclure, comme vous l'avez décrit.
Bien, en invoquant l'événement click ne signifie rien, mais l'exécution de l'inscription à l'événement de la méthode.
Donc, le pire suggestion que je peux penser à est de, il suffit d'appeler la fonction à quel point vous voulez qu'il se produise l'événement click comme,
lnkExport_Click(lnkExport, de nouvelles EventArgs());
Je ne suis pas sûr de savoir pourquoi vous auriez besoin de votre page se charge si vous êtes juste de vouloir par programme en cliquant sur ce lien. Je vous recommande d'utiliser de Réponse.Redirect() sur le côté serveur afin de les rediriger vers cette page. Vous ne savez pas si il y a d'autres raisons atténuantes cette approche ne fonctionnera pas...
--Matt
Si je comprends ce que vous dites:
puis dans votre code-behind ou lors de chaque appel au suivant lorsque vous avez besoin de...
et assurez-vous que vous avez lnkExport_Click filaire.