扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
介绍如何输出页面的局部html到客户端
往往看到有很多人使用web服务下载一堆(复杂格式编码过的)数据,然后使用相当复杂的客户端脚本代码来生成html指令进行显示。这样做累不累呀?有没有必要啊?
实际上,我们可以返回aspx页面的局部内容,可以把所下载到的html代码直接使用InnerHTML方法刷新到html对象上面。
假设我们有一个aspx页面,它上面有一个PlaceHolder名字叫做PlaceHolder1,我们希望当url参数xxx=1的时候就单单输出这个局部部分的html,就可以这样编写后台代码:
public override void VerifyRenderingInServerForm(Control control) { //base.VerifyRenderingInServerForm(control); } protected override void Render(HtmlTextWriter writer) { if (this.Request.QueryString["xxx"] != null && this.Request.QueryString["xxx"]=="1") this.PlaceHolder1.RenderControl(writer); else base.Render(writer); }
至于你的客户端脚本如何请求一个aspx页面,有很多种方式。你可以使用脚本直接以http的Get命令下载一个文件的方式;也可以使用ajax访问一个web服务来返回字符串,然后这个web服务再间接在服务器上get这个网页(反正这是本地)。
我们在url参数中不仅仅标记xxx,而且可以包含页号等等的更多信息,让aspx给我们直接下载复杂的html到客户端,而不是仅仅下载一堆数据到客户端。
婵″倹鐏夐幃銊╂姜鐢瓕鎻╅崚鍥╂畱閹厖绨$憴顤廡妫板棗鐓欓張鈧弬棰侀獓閸濅椒绗岄幎鈧張顖欎繆閹垽绱濋柇锝勭疄鐠併垽妲勯懛鎶姐€婄純鎴炲Η閺堫垶鍋栨禒璺虹殺閺勵垱鍋嶉惃鍕付娴f娊鈧柨绶炴稊瀣╃閵嗭拷