我可以在另一个加载一个独立的ASPX页面站在使用的System.Reflection单独aspx页面?

我使用的是ASP.NET 2.0 Web站点的项目模型。

其他提示

不知道如何使用反射,这很可能是有可能这样做,但你可以使用捕捉一个aspx或ASP页面的输出字符串作家HttpContext.Server.Execute()。点击 我已经使用这个渲染一些复杂的电子邮件模板,但不知道这是否是你说的很追求的。

如果你从一个UI.Page继承类网页背后的代码,你可以用这样的方式: 设置CONTEXT到当前HTTP上下文

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