Ich möchte die ASP.NET AJAX Page Methods Funktionalität mit einem Benutzer Steuerelement verwenden. Gibt es eine Möglichkeit, meine statische [WebMethod] im Code des UserControl hinter dem Code der Seite statt hinter dem Code der Seite angeben zu können?ASP.NET AJAX-Seite Methoden von UserControl
Antwort
Sie können wahrscheinlich nicht. Das Benutzersteuerelement verfügt nicht über die gesamte Funktionalität einer Seite und kann nicht direkt aufgerufen werden. Sie sollten stattdessen einen Webservice (asmx) erstellen, um dieses Szenario zu behandeln. Wenn Sie möchten, kann der Webservice-Aufruf an die statische Methode in Ihrem Benutzersteuerelement weitergeleitet werden.
Ich habe ziemlich lange nach einer Lösung gesucht, um statische WebMethods in Steuerelemente zu platzieren. Anstatt eine Lösung zu finden, musste ich mein eigenes machen; Wenn Sie daran interessiert sind, dies natürlicher zu tun, nehmen Sie bitte eine look here (oder überspringen Sie direkt zu the source). Es gibt wenig Dokumentation, da die Lösung frisch ist, aber im Moment bin ich die einzige Person, die Interesse daran hat, also gibt es wenig Grund für mich, alles voll zu machen. Wenn Sie eine Chance haben und interessiert sind, sagen Sie mir bitte, was Sie davon halten.
Die Antwort TheXenocide gab zu arbeiten scheint, aber die Entwickler Zustand „Steuerungsmethoden für ASP.NET AJAX wird‚as is‘ohne Garantie oder Gewährleistung ausdrücklich oder implizit, einschließlich konkludenten Garantien der Eignung für einen bestimmten Zweck, Marktgängigkeit und Nichtverletzung. "
Wenn Sie nach einer langfristigen Lösung suchen, würde ich in Betracht ziehen, mit Webservice-Methoden zu gehen. Entweder das oder keine Benutzersteuerung verwenden. Sie können eine Aspx-Seite innerhalb eines anderen mit einem Iframe verschachteln.