2009-08-02 5 views
1

Wir haben eine alte Seite in Classic ASP geschrieben, die Aufrufe über das Updater-Objekt der Prototype-Bibliothek zu einer vorhandenen ASP-Seite aufruft.Können Sie ein ASP.Net-Steuerelement auf einer Non ASP.Net-Seite über AJAX rendern

Dieser Aufruf übergab einige Abfrage-String-Parameter in der Anfrage und erhielt eine Liste von zu aktualisierenden Parametern sowie einen HTML/JS-Block zum Rendern auf der ASP-Hauptseite.

Es scheint, dass der Seitenlebenszyklus die Dinge kompliziert, aber die Implementierung in einer tatsächlichen Serversteuerung oder Benutzersteuerung könnte funktionieren.

[EDIT] Ich mag würde, um die ursprüngliche Frage zu klären/vereinfachen: Gibt es eine Möglichkeit, um eine ASP.NET-Steuerung (ASCX oder Serversteuerung) in einer nicht ASP.net Seite zu machen?

Idealerweise würde es über AJAX aufgerufen werden und einen Block HTML-Text zurückgeben - zusammen mit einer Möglichkeit, den Status auf die Empfangsseite zu übertragen.

+0

+1: Große Frage –

Antwort

2

Sie können das Steuerelement in einem Webdienst platzieren, der den unbearbeiteten HTML-Code als Ausgabe zurückgibt, und den Webdienst von AJAX aus aufrufen und die Ergebnisse mit dynamischem HTML an die gewünschte Stelle platzieren. Möglicherweise müssen Sie mit dem Ausgabepuffer des Steuerelements experimentieren, damit dies so funktioniert, wie Sie es möchten.

+0

Ich denke, das ist wahrscheinlich die beste Aufnahme, die wir haben ... Ich werde dies mit der Verwendung der Datenbank versuchen, um irgendwelche nervtötenden Zustandsinformationen zu erhalten, die wir brauchen. – jkelley

1

Sie könnten ein IFRAME in das Asp einfügen, das die aspx-Seite enthält, und einen Mechanismus verwenden, um Parameter zu übergeben, möglicherweise über einen QueryString-Wert?

Die ASP-Seite könnte einen Eintrag (params) in eine Tabelle schreiben, eine ID (GUID) erstellen, die durch die aspx-Seite weitergeleitet wird, die den Eintrag retrieves?

+0

Ich möchte die IFRAME wenn möglich vermeiden, aber gibt es irgendwelche gebräuchlichen Techniken für die Rückgabe von Werten aus einem IFRAME? – jkelley

+0

Ich bin mir nicht sicher, aber es kann möglich sein, über Javascript zu kommunizieren? Ermöglicht das System, diese Asp in .net zu re-implementieren? (Ich bin sicher, dass Sie sich das selbst gefragt haben) –

+0

Ja, das System macht es möglich, obwohl wir versuchen, es zu vermeiden b/c viel von dem Rest der Website muckst herum mit ASP-Sitzungen. Es kann sein, dass der beste Ansatz darin besteht, den Sitzungsstatus zu teilen, indem die GUID herumgereicht wird. Ich glaube immer noch, dass es eine Möglichkeit geben muss, ein asp.net-Steuerelement in einer nonasp.net-Seite zu rendern. Ich werde die Frage und die Hoffnung klären. – jkelley

1

Angenommen, Ihr Webserver kann ASPX-Dateien auf dem Zielframework ausführen, dann können Sie die RESULTS des Steuerelements/der Seite in eine klassische ASP-Seite oder eine einfache alte HTML-Seite umwandeln. Sie können keine serverseitige Funktionalität aufweisen, daher würden Sie nur die HTML-generierten Ergebnisse des Steuerelements/der Seite rendern.