ユーザー コントロールで ASP.NET AJAX ページ メソッド機能を利用したいと考えています。ページのコード ビハインドではなく、UserControl のコード ビハインド内で静的 [WebMethod] を指定できる方法はありますか?
3 に答える
おそらくできません。ユーザー コントロールには、ページのすべての機能が備わっているわけではなく、直接呼び出すことはできません。このシナリオを処理するには、代わりに Web サービス (asmx) を作成する必要があります。必要に応じて、Web サービス呼び出しをユーザー コントロール内の静的メソッドにルーティングできます。
コントロールに静的な WebMethods を配置するための解決策を見つけるために、私はかなり探し回っています。解決策を見つける代わりに、自分で作成する必要がありました。これをより自然に行うことに興味がある場合は、お気軽にこちらをご覧ください(または直接ソースにスキップしてください)。ソリューションは新鮮なのでドキュメントはほとんどありませんが、現時点では私だけがそれに関心を持っているので、私が熱心に取り組む理由はほとんどありません. 機会があり、興味がありましたら、感想をお聞かせください。
TheXenocide の回答は機能しているように見えますが、開発者は次のように述べています。非侵害。」
長期的な解決策を探している場合は、Web サービス メソッドを使用することを検討します。それか、ユーザーコントロールを使用しないでください。Iframe を使用して、aspx ページを別のページ内にネストできます。