js获取UserControl内容,避免拼html的麻烦

一直不知道怎么把一个现成的gridview通过ajax的方式调用到页面上,后来看了老赵(这哥们很V5)很早之前的一篇博客,把他那段代码直接复制过来,再自定一个page ,就轻松搞定了 。记录下

public  class UcViewHelper<T> where T:UserControl
    {
       private MyPage m_pageHolder;
       public T LoadViewControl(string path)
       {
           m_pageHolder = new MyPage();
           return (T) 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();
       }
    }

  class MyPage:Page
{
    public override void VerifyRenderingInServerForm(Control control)
    {
        
    }
}

$.ajax({
   type: "GET",
   url: "XXXXAjaxHandler.ashx",
   dataType: "html",
   data: { },
   success: function (data, textStatus) {
    $("#KeyValueList").html(data);
              },
   error: function (XMLHttpRequest, textStatus, errorThrown) {
       }
  })//AJAX-end

 

 UcViewHelper<ClassName> viewManager = new UcViewHelper<ClassName>();
  ClassName control = viewManager.LoadViewControl("XXXX.ascx");
  context.Response.Write(viewManager.RenderView(control));

转载于:https://www.cnblogs.com/fuhui/archive/2011/01/20/1940359.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值