获取ascx绑定数据后的HTML

假如我们要用JS显示一个TABLE,我们需要用ajax从后台获取一个数据集合 如DataTable或List等,然后再在JS里循环遍历,由于要控制样式等等,所以感觉有点麻烦。所以我就想在后台把HTML生成了,在客户端直接获取HTML,上代码:

在ascx中的代码

 
  
<% @ Control Language = " C# " AutoEventWireup = " true " CodeBehind = " WebUserControl1.ascx.cs " Inherits = " WebApplication1.WebUserControl1 " %>
< form id = " form1 " runat = " server " >
< asp:GridView ID = " GridView1 " runat = " server " >
</ asp:GridView >
</ form >

在cs中的代码

 
  
// 这里仅仅是手动组装了数据源
DataTable dt = new DataTable();
dt.Columns.AddRange(
new DataColumn[] { new DataColumn( " Column1 " ), new DataColumn( " Column2 " ) });
DataRow dr
= dt.NewRow();
dr[
" Column1 " ] = " 1 " ;
dr[
" Column2 " ] = 2 ;
dt.Rows.Add(dr);
// 这里才是关键代码
WebUserControl1 wuc = this .LoadControl( " /WebUserControl1.ascx " ) as WebUserControl1;
wuc.GridView1.DataSource
= dt;
wuc.GridView1.DataBind();
Page p
= new Page();
p.Controls.Add(wuc);
StringWriter tw
= new StringWriter();
HttpContext.Current.Server.Execute(p, tw,
false );
// html就是tw.ToString()啦
Response.Write(tw.ToString());

转载于:https://www.cnblogs.com/mrliuc/archive/2011/07/05/2098273.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值