通过虚拟路径动态实例化ASP.NET页面类对象

时间:2012-07-02 06:24:34

标签: c# asp.net windows visual-studio-2010

可以这样做吗?怎么样?

我尝试了以下但没有成功:

  • 方法1 使用BuildManager.CreateInstanceFromVirtualPath - 在发布后无效。 (我认为它失败了,因为我使用强名称汇编预编译,不确定)。

  • Method2 ,使用以下代码:

    Page page = new SchedulerTest();  // An ASPX Page class (note: CodeBehind) 
    page.AppRelativeVirtualPath =
    context.Request.AppRelativeCurrentExecutionFilePath; 
    page.ProcessRequest(context);
    

    找到here - 无法正常工作,因为我不知道页面类名称 在运行时。

1 个答案:

答案 0 :(得分:0)

好的,这就是我的想法。

a)为什么在运行之前你不知道类的名称?你如何弄清楚这个类名是什么?如果你可以计算出这种关系,那么你可以使用反射创建一个页面实例,然后使用它。

b)你真正想要实现的目标是什么?如果您尝试根据某些条件(查询字符串或其他内容)将请求路由到另一个请求,则可以使用HttpModule并重写路径。我很难看到你可能会尝试做什么。通过这种方式,您可以再次使用虚拟路径。