=波波日志 > Asp.Net/C#/WCF > ajaxpro综合示例-ajaxpro无刷新更新gridview数据=
ajaxpro综合示例-ajaxpro无刷新更新gridview数据
ajaxpro使用总结系列其他内容
ajaxpro综合示例-ajaxpro无刷新更新gridview数据
ajaxPro7.7.31.1 出现this.onTimeout is not a function 的Bug解决方案
ajaxPro7.7.31.1 返回DataTable,DateSet出错
ajaxpro无刷新,分页更新repeater/GridView数据源
ajaxpro无刷新更新gridview数据
ajaxpro使用的是prototype框架,所以和微软的ajax框架有一定的区别,不能在服务端直接绑定GridView控件,而是需要返回DatatTable或者DataSet对象,然后根据在客户端生成对应的DataTable或者DataSet的Json对象,重新绘制GridView在浏览器生成的table对象。
源代码如下
ajaxpro-no-refresh-update-gridview.aspx
+展开
-HTML
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ajaxpro-no-refresh-update-gridview.aspx.cs" Inherits="ajaxpro_no_refresh_update_gridview" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>ajaxpro无刷新更新gridview数据</title>
</head>
<body>
<script type="text/javascript">
function reload() {
ajaxpro_no_refresh_update_gridview.GridViewSource(callback);
}
function callback(r) {
var rows = r.value.Rows, tb = document.getElementById('gv1'),tr,td;
while (tb.rows.length > 1) tb.deleteRow(1); //删除除了页头的行
for (var i = 0; i < rows.length; i++) {
tr = tb.insertRow(tb.rows.length);
td = tr.insertCell(0); td.innerHTML = rows[i].Id;
td = tr.insertCell(1); td.innerHTML = rows[i].rndNum;
}
}
</script> <table id="tb1"></table>
<form id="form1" runat="server"><input type="button" value="马上更新" onclick="reload()"/>
<asp:GridView runat="server" ID="gv1"></asp:GridView>
</form><!--一定不能缺少runat为server的表单,要不然ajaxpro不会自动生成对应的脚本和导入相关的框架代码-->
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>ajaxpro无刷新更新gridview数据</title>
</head>
<body>
<script type="text/javascript">
function reload() {
ajaxpro_no_refresh_update_gridview.GridViewSource(callback);
}
function callback(r) {
var rows = r.value.Rows, tb = document.getElementById('gv1'),tr,td;
while (tb.rows.length > 1) tb.deleteRow(1); //删除除了页头的行
for (var i = 0; i < rows.length; i++) {
tr = tb.insertRow(tb.rows.length);
td = tr.insertCell(0); td.innerHTML = rows[i].Id;
td = tr.insertCell(1); td.innerHTML = rows[i].rndNum;
}
}
</script> <table id="tb1"></table>
<form id="form1" runat="server"><input type="button" value="马上更新" onclick="reload()"/>
<asp:GridView runat="server" ID="gv1"></asp:GridView>
</form><!--一定不能缺少runat为server的表单,要不然ajaxpro不会自动生成对应的脚本和导入相关的框架代码-->
</body>
</html>
ajaxpro-no-refresh-update-gridview.aspx.cs
+展开
-C#
using System;
using System.Data;
public partial class ajaxpro_no_refresh_update_gridview : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(ajaxpro_no_refresh_update_gridview));
gv1.DataSource = CreateDataSouce(); gv1.DataBind();
}
private DataTable CreateDataSouce()
{//创建数据源
DataTable dt = new DataTable();
dt.Columns.Add("Id");
dt.Columns.Add("rndNum");
Random r = new Random();
for (int i = 0; i < 20; i++) dt.Rows.Add(i, r.Next(1, 1000));
return dt;
}
[AjaxPro.AjaxMethod]
public DataTable GridViewSource()
{
return CreateDataSouce();
}
}
using System.Data;
public partial class ajaxpro_no_refresh_update_gridview : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(ajaxpro_no_refresh_update_gridview));
gv1.DataSource = CreateDataSouce(); gv1.DataBind();
}
private DataTable CreateDataSouce()
{//创建数据源
DataTable dt = new DataTable();
dt.Columns.Add("Id");
dt.Columns.Add("rndNum");
Random r = new Random();
for (int i = 0; i < 20; i++) dt.Rows.Add(i, r.Next(1, 1000));
return dt;
}
[AjaxPro.AjaxMethod]
public DataTable GridViewSource()
{
return CreateDataSouce();
}
}
类别:Asp.Net/C#/WCF 作者:波波 日期:2010-12-23 【评论:1】
相关文章
- ·ajaxpro方法ajaxmethod调用示例
- ·ajaxpro使用总结--总目录
- ·ajaxpro返回值类型总结-string,int
- ·ajaxpro返回值类型总结-DataSet
- ·ajaxpro返回值类型总结-DataTable
- ·ajaxpro ajaxmethod 重载调用问题
- ·ajaxPro7.7.31.1返回DataTable,DateSet出错
- ·ajaxPro7.7.31.1 出现this.onTimeout is not a function 的Bug解决方案
- ·AjaxPro使用说明文档
- ·ajaxpro2属性AjaxPro.AjaxNamespace使用
- ·8.4 数据列表控件(GridView)
- ·VBScript如何调用异步调用ajaxpro注册的方法
- 红叶
日期:2010-12-25 15:22:18 IP:59.174.*.*
点击按钮后,数据并没有更新!
发表留言
热门博文
- IE里Cookie跨域不能读取
- web服务因URL意外地以/**结束,请求格式无法识别
- 去掉隐藏asp.net编译出错aspxerrorpath错误参数
- 解决asp.net验证视图状态 MAC 失败
- 找不到System.Web.Script.Services.ScriptService
- 在aspx,ashx页面挂起线程执行
最新博文
- WCF利用限流(Throttling)控制并发访问[下篇]
- WCF利用限流(Throttling)控制并发访问[上篇]
- ConcurrencyMode.Multiple模式下的WCF服务同步上下文对并发的影响[下篇]
- ConcurrencyMode.Multiple模式下的WCF服务同步上下文对并发的影响[上篇]
- WCF基于ConcurrencyMode.Reentrant模式下的并发控制机制
- C#如何设置标记方法等为否决的不可用
随机博文
- 在aspx,ashx页面挂起线程执行
- 4.8 ASP.NET的网页代码模型及生命周期-小结
- C#反射教程(5)
- 10.7 访问其他数据源--小结
- ASP.NET中Session失效的问题整理
- 第17章 ASP.NET MVC基础
广告商赞助

