質問

私がするSystem.Reflectionを使用して単独のaspxページをスタンド別にスタンドアローンaspxページをロードすることはできますか?

私は、ASP.NET 2.0のWebサイトプロジェクトモデルを使用しています。

他のヒント

同様に可能とすることができる、リフレクションを使用してそれをやって知りませんが、HttpContext.Server.Execute()を使用して文字列ライターへのaspxまたはASPページの出力をキャプチャすることができます。
私はいくつかの複雑な電子メールテンプレートをレンダリングするためにこれを使用しているが、それはあなたが後にしている、非常に何かあるかどうかを知りません。

ページの後ろにあなたのコードのためにUI.Pageから継承したクラスを持っている場合は、

は、あなたがこの方法を使用することができます。 あなたの現在のHTTPコンテキストへの設定CONTEXT

Dim hndlr As IHttpHandler = PageParser.GetCompiledPageInstance("~/mypage.aspx", context.Server.MapPath("~/mypage.aspx"), CONTEXT)
Dim ipage As DerivedPage = DirectCast(hndlr, DerivedPage)
ipage.YourProperty= "Hello"
ipage.DoIt()

だから、あなたはあなたが警告されます方法の符号を変更します場合は、強い型指定された値を持つことができます。

私は、次のソリューションを実装し、それは私が正確に何をしたいです。

using System.Reflection;
using System.Web.Compilation;

Page p = BuildManager.CreateInstanceFromVirtualPath("~/mypage.aspx", typeof(Page)) as Page;
MethodInfo MyMethod = p.GetType().GetMethod("MyMethod");
MyMethod.Invoke(p, null);
scroll top