2010-11-02 27 views
0

Je cherche un moyen de câbler un ASP: LinkButton pour apparaître en tant que lien, mais en arrière-plan (100% dans le code derrière, pas de formulaire pré-rempli factice dans le balisage) faire un post de formulaire (target = _blank). J'ai une action de formulaire, une méthode et des paramètres à passer que je vais demander dans l'événement "click" du LinkButton. Quelle est la meilleure façon d'y parvenir?100% code-derrière le formulaire

+0

Il existe plusieurs façons de lire votre question. Voulez-vous dire que vous voulez avoir un lien sur une page sans formulaire du tout (dont vous auriez besoin pour une publication de toute façon) avoir le code côté serveur décider quelle URL à charger lorsqu'on clique dans une fenêtre contextuelle? –

+0

Le code côté serveur déterminera l'URL, les paramètres, etc., tous dans l'événement "clic". –

Répondre

1

Eh bien, il y a beaucoup de façons de faire ce que je pense que vous essayez de faire :)

Un problème; Les pop-ups standard ne déclenchent pas les appels de gestionnaires d'événements car ils sont mappés via post-retour à la page je crois.

Si vous êtes satisfait GET seulement les soumissions:

OPTION A: Ajoutez votre bouton lien sans objectif fixé et la configuration d'un gestionnaire d'événements post-retour pour l'installation, cliquez

votre URL et renvoient la balle à la page en fonction JS qui charge tout de suite par exemple ou l'utilisation jquery etc.

dans la fonction JS vous chargez l'URL en utilisant window.open() avec l'objectif fixé à « _blank »

EFFET: utilisateur clique sur le lien, tout le code est côté serveur qui fonctionne sur l'URL à afficher, page est actualisée à l'endroit où il était et une fenêtre pop-up charge ensuite montrant la nouvelle URL

OPTION B: Configuration du lien pour avoir target = « _ blank »

en font appeler une nouvelle page ou même avec un argument querystring vous pouvez pré-processus dans le page_load()

dans la nouvelle page ou bloc de contrôle de code, faire vos calculs et Response.Redirect() à la nouvelle cible

EFFET: L'utilisateur clique sur le lien, aucune page n'actualise juste une nouvelle fenêtre tout de suite avec une redirection vers la nouvelle page. C'est une solution plus propre je pense!

SI vous avez besoin de soutien POST:

créer Dynamiquement soit des éléments ou une chaîne de HTML représentant un formulaire avec tous les éléments d'entrée nécessaires et la sortie dans la fenêtre pop-up (en utilisant l'option b comme un modèle de départ difficile) et avoir un onload soumettre le formulaire tout de suite qui effectuera un POST à ​​l'URL que vous avez décidé via un script côté serveur donnant le même effet que l'option b mais avec un POST au niveau du formulaire.