利用动态加载模板,配合ajax实现无刷新操作
关键字:DataGrid 动态模板 Ajax
我们使用ajax实现无刷新界面时,对于DataGrid,Repeater等列表还是比较麻烦的,经过我的尝试,找出一种比较合理的方法,可以免除对html的加工处理,随时获取到数据列表的HTML content,并且列表格式使用模板,更加容易维护,阅读
原理是将模板写入用户控件,使用LoadTemplate来加载,然后将其赋给DataGrid或Repeater等控件,绑定后输出HTML到客户端
.aspx.cs
[AjaxPro.AjaxMethod]
public string GetListHTML(string old)
{
Repeater rpt = new Repeater();
ITemplate temp = Page.LoadTemplate("webusercontrol1.ascx");
rpt.ItemTemplate = temp;
rpt.DataSource = Albums.GetFolderList(1);
rpt.DataBind();
System.Text.StringBuilder sb = new System.Text.StringBuilder();
System.IO.StringWriter sw = new System.IO.StringWriter(sb);
HtmlTextWriter writer = new HtmlTextWriter(sw);
rpt.RenderControl(writer);
sw.Flush();
writer.Close();
sw.Close();
Response.Write(sb.ToString());
}
webusercontrol1.ascx<%@ Control Language="C#" %>
<%# DataBinder.Eval(((RepeaterItem)Container).DataItem, "folderName")%><br />
上面就是列表的全部代码, js端只需调用 类名.GetListHTML 即可快速获取模板化的列表了。
对应DataGrid,可以增加TemplateCollumn等方法来模板化
webusercontrol1.ascx
webusercontrol1.ascx<%@ Control Language="C#" %>
<%# DataBinder.Eval(((DataGridItem)Container).DataItem, "folderName")%><br />
.aspx.cs 部分代码:
DataGrid DataGrid1 = new DataGrid();
ITemplate temp = Page.LoadTemplate("webusercontrol1.ascx");
TemplateColumn tc = new TemplateColumn();
tc.HeaderText = "Test";
tc.ItemTemplate = temp;
DataGrid1.Columns.Add(tc);
DataGrid1.AutoGenerateColumns = false;
DataGrid1.DataSource = Albums.GetFolderList(1);
DataGrid1.DataMember = "id";
DataGrid1.DataBind();
全文完
转载于:https://www.cnblogs.com/Truly/archive/2006/08/21/482508.html
利用动态加载模板,配合ajax实现无刷新操作相关推荐
- ajax 页面无刷新,Ajax的页面无刷新实现详解(附代码)
这次给大家带来Ajax的页面无刷新实现详解(附代码),Ajax页面无刷新实现的注意事项有哪些,下面就是实战案例,一起来看一下. ajax (ajax开发) AJAX即"Asynchronou ...
- Ajax实现无刷新三联动下拉框
1.html代码 <HTML> <HEAD> <title>Ajax实现无刷新三联动下拉框</title> &l ...
- ajax无刷新留言板远吗,php+ajax制作无刷新留言板,phpajax刷新留言板_PHP教程
php+ajax制作无刷新留言板,phpajax刷新留言板 本文就是和大家分享一款由php结合ajax实现的无刷新留言板,先给大家看一下最后的效果图: 数据库连接代码如下: index.php文件代码 ...
- jQuery+php+ajax实现无刷新上传文件功能
2019独角兽企业重金招聘Python工程师标准>>> jQuery+php+ajax实现无刷新上传文件功能,还带有上传进度条动画效果,支持图片.视频等大文件上传. js代码: &l ...
- AJAX+JavaScript无刷新检查用户名
AJAX+JavaScript无刷新检查用户名是否可用2009-04-20 16:26 JavaScript 和 Ajax 代码 <script language="javascr ...
- 用Atlas来实现一个基于AJAX的无刷新Chatroom
Atlas是微软提供的一个AJAX工具包,封装了实现AJAX的所需的Java Script,使用起来非常简单,可以直接调用Web Service方法,然后通过Asynchronous Call的方式回 ...
- jQuery+Ajax+PHP无刷新分页
代码需要在后台运行(包括页面index.html,ajax.php,connect.php,还有数据库food.sql) index.html <!DOCTYPE html> <ht ...
- 新闻留言php,php+ajax实现无刷新的新闻留言系统,ajax留言系统_PHP教程
php+ajax实现无刷新的新闻留言系统,ajax留言系统 本文介绍了一款无刷新的新闻留言系统,最简明易懂的一个ajax无刷新留言系统,源码中省略了接受数据验证的过程,大家可根据自己的需求进行扩展,下 ...
- php抓取动态数据,php+ajax实现无刷新动态加载数据技术
我们浏览有些网页的时候,当拉动浏览器的滚动条时到页底时,页面会继续自动加载更多内容供用户浏览.这种技术我暂且称它为滚屏加载技术.我们发现很多网站用到这种技术,必应图片搜索.新浪微博.QQ空间等将该技术 ...
最新文章
- 程序员硬核资源:一本贼有趣的设计模式学习pdf
- 删除结果集中字段重复的方法
- 力扣两数之和 II - 输入有序数组
- 通过字符串的方式读取文件的内容
- oracle 插入含字符串
- java checker_java 英文单词纠正校验框架(Word Checker)
- 2018-2019-2 20165209 《网络对抗技术》Exp7: 网络欺诈防范
- [WebApi] 捣鼓一个资源管理器--文件下载
- 计算机一直进入安全模式开机,电脑启动时自动进入安全模式怎么办
- 南京软件企业挨个介绍及计算机学习的一点经验交流
- python输出数字怎么办_python怎么输出数字
- Quoted-printable 编码认识、介绍、编码解码转换
- 机器学习与算法(4)--本地散点平滑估计(LOESS)
- 东八区指定时间换算时区
- eyoumailserver邮箱服务器与foxmail 邮箱客户端的使用和安装
- Java毕业设计-音乐管理系统
- 如何确定SAP系统的NetWeaver版本、ERP或S/4HANA的版本
- csv文件导入Mysql
- 大学android移动开发笔记,基于Android的移动模拟练习系统的设计与实现
- 基于 vue.js 的仿QQ聊天室