首页 > Web开发 > 详细

asp.net网站项目调用page,或者ashx页面不能用反射

时间:2017-01-12 18:26:44      阅读:149      评论:0      收藏:0      [点我收藏+]
public class TestHandler : System.Web.IHttpHandler
    {
        public bool IsReusable
        {
            get { return false; }
        }

        public void ProcessRequest(System.Web.HttpContext context)
        {
            Page page = BuildManager.CreateInstanceFromVirtualPath("~/webform1.aspx", typeof(WebForm1) ) as Page; 
// WebForm1是你要加载页面对应的后台类
            page.ProcessRequest(context);

        }
    }
public partial class fanshe : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        IHttpHandler page =BuildManager.CreateInstanceFromVirtualPath("/ascx/test.ashx", typeof (IHttpHandler)) as IHttpHandler;
        page.ProcessRequest(HttpContext.Current);
    }
}

 

页面对应的类是动态编译的,所以不会出现在 Assembly 中,也无法通过反射取得。
除了用上面的方法加载页面,也可以在 @Page 指令中指定 ClassName,然后可以直接 new 这个page(当然前提是页面要已经访问过了precompiled)

asp.net网站项目调用page,或者ashx页面不能用反射

原文:http://www.cnblogs.com/uxinxin/p/6279144.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!