利用Httphandler、UserControl 输出HTML片段

   //利用Httphandler、UserControl 输出HTML片段
   //ViewManager类
   public class ViewManager<T> where T : UserControl
   {
       private Page m_pageHolder;
    
       public T LoadViewControl(string path)
       {
           this.m_pageHolder = new Page();
           return (T)this.m_pageHolder.LoadControl(path);
       }
    
       public string RenderView(T control)
       {
           StringWriter output = new StringWriter();
           this.m_pageHolder.Controls.Add(control);
           HttpContext.Current.Server.Execute(this.m_pageHolder, output, false);
           return output.ToString();
       }
   }
    //Handler 使用

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        ViewManager<AreaList> viewManager = new ViewManager<AreaList>();
        AreaList control = viewManager.LoadViewControl("~/HttpHandler/AreaList.ascx");
        context.Response.Write(viewManager.RenderView(control));
    }

posted @ 2013-10-08 11:00  王永华  阅读(190)  评论(0编辑  收藏  举报