2009-08-02 4 views
1

Nous avons une ancienne page écrite en ASP classique qui appelle vers une page .asp existante via l'objet Updater de la bibliothèque Prototype. Cet appel a passé certains paramètres de chaîne de requête dans w/la demande et a reçu une liste de paramètres à mettre à jour ainsi qu'un bloc de HTML/JS à afficher sur la page ASP principale.Pouvez-vous rendre un contrôle ASP.Net dans une page Non ASP.Net via AJAX?

Il semble que le cycle de vie de la page complique les choses, mais que l'implémentation dans un contrôle serveur réel ou dans usercontrol puisse fonctionner.

[EDIT] Je voudrais clarifier/simplifier la question initiale: Y at-il un moyen de rendre un contrôle ASP.NET (.ascx ou le contrôle du serveur) dans une page non ASP.net?

Idéalement, il serait appelé via AJAX et renvoyer un bloc de texte HTML - avec un moyen de transférer l'état à la page de réception.

+0

+1: Excellente question –

Répondre

2

Vous pouvez placer le contrôle dans un service Web qui renvoie le code HTML brut en sortie et appeler le service Web d'AJAX en plaçant les résultats où vous le souhaitez en utilisant HTML dynamique. Vous devrez peut-être jouer avec le tampon de sortie du contrôle pour que cela fonctionne comme vous le souhaitez.

+0

Je pense que c'est probablement le meilleur cliché que nous ayons ... Je vais essayer de l'utiliser avec la base de données pour conserver les informations d'état dont nous avons besoin. – jkelley

1

Vous pouvez mettre un IFRAME dans l'ASP qui contient la page aspx et utiliser un mécanisme pour passer les paramètres, éventuellement via une valeur QueryString?

La page asp pourrait écrire une entrée (params) dans une table, en créant un ID (Guid) qui est passé à la page aspx qui récupère l'entrée?

+0

J'aimerais éviter l'IFRAME si possible, mais existe-t-il des techniques courantes pour renvoyer des valeurs à partir d'un IFRAME? – jkelley

+0

Je ne suis pas sûr, mais il peut être possible de communiquer via javascript? Le système permet-il de ré-implémenter cet ASP dans .net? (Je suis sûr que vous vous êtes demandé cela) –

+0

Oui, le système rend cela possible, même si nous essayons de l'éviter car une grande partie du reste du site se déplace avec des sessions ASP. Il se peut que la meilleure approche consiste à partager l'état de la session en passant le GUID. Je crois toujours qu'il doit y avoir un moyen de rendre un contrôle asp.net dans une page non asp.net. Je vais clarifier la question et espérer. – jkelley

1

En supposant que votre serveur Web puisse exécuter des fichiers .aspx sur l'infrastructure cible, alors oui, vous pouvez afficher les RÉSULTATS du contrôle/de la page dans une page ASP classique ou une ancienne page html. Vous ne pouvez pas avoir de fonctionnalité côté serveur, donc vous rendrez simplement les résultats générés par html du contrôle/de la page.

Questions connexes