Ext2.0 + .Net 2.0应用实例(1)
2008-03-18 15:10
405 查看
一 开发环境
Windows 2003
VS 2005
Aptana
Ext2.0
二 客户端代码
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="resources/css/ext-all.css"/>
<!-- GC --><!-- LIBS -->
<script type="text/javascript" src="adapter/ext/ext-base.js">
</script>
<!-- ENDLIBS -->
<script type="text/javascript" src="ext-all.js">
</script>
<script type="text/javascript" src="array-grid.js">
</script>
<link rel="stylesheet" type="text/css" href="grid-examples.css"/>
<!-- Common Styles for the examples -->
</head>
<body>
</script>
<!-- EXAMPLES --><h1>Array Grid Example</h1>
<p>
This example shows how to create a grid from Array data.
</p>
<p>
Note that the js is not minified so it is readable. See <a href="array-grid.js">array-grid.js</a>.
</p>
<div id="grid-example" style="height:265px;"></div>
</body>
</html>
JS:
Ext.onReady(function()...{
var data = ...{totalProperty:10,root:[...{id:0,name:'name0',descn:'descn0'},...{id:1,name:'name1',descn:'descn1'},...{id:2,name:'name2',descn:'descn2'},...{id:3,name:'name3',descn:'descn3'},...{id:4,name:'name4',descn:'descn4'},...{id:5,name:'name5',descn:'descn5'},...{id:6,name:'name6',descn:'descn6'},...{id:7,name:'name7',descn:'descn7'},...{id:8,name:'name8',descn:'descn8'},...{id:9,name:'name9',descn:'descn9'}]};
var sm = new Ext.grid.CheckboxSelectionModel();
var cm = new Ext.grid.ColumnModel([sm,...{
header: '编号',
dataIndex: 'id'
}, ...{
header: '名称',
dataIndex: 'name'
}, ...{
header: '描述',
dataIndex: 'descn'
}]);
var ds = new Ext.data.Store(...{
// proxy: new Ext.data.MemoryProxy(data),
proxy: new Ext.data.HttpProxy(...{
url:'Ajax.aspx'
}),
reader: new Ext.data.JsonReader(...{
totalProperty: 'totalProperty',
root: 'root'
}, [...{
name: 'id'
}, ...{
name: 'name'
}, ...{
name: 'descn'
}])
});
// create the Grid
var grid = new Ext.grid.GridPanel(...{
ds: ds,
cm: cm,
height: 600,
width: 500,
title: 'Array Grid',
bbar: new Ext.PagingToolbar(...{
pageSize: 10,
store: ds,
displayInfo: true,
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录"
})
});
grid.render('grid-example');
grid.getSelectionModel().selectFirstRow();
//ds.load();
ds.load(...{
params: ...{
start: 0,
limit: 10
}
});
});
三 服务端代码
新建一个Ajax.aspx页面
using System;
using System.Data;
using System.Web;
public partial class Ajax : System.Web.UI.Page
...{
protected void Page_Load(object sender, EventArgs e)
...{
string start = this.Request.Form["start"];
string count = this.Request.Form["limit"];
string result;
int startNum;
int countNum;
try
...{
startNum = int.Parse(start);
countNum = int.Parse(count);
string tmp = "id:{0},name:'name{0}',descn:'descn{0}'";
string record = "{";
for (int i = startNum; i < startNum + countNum; i++)
...{
if (i != startNum)
record += ",{";
record += String.Format(tmp, i);
record += "}";
}
string resultTemplate = "totalProperty:100,root:[{0}]";
result = "{" + String.Format(resultTemplate, record) + "}";
}
catch ...{
result = “”;
}
Response.Write(result);
}
}
四 测试
代码不是很难,但刚开始调试的时候,一直没有出来结果。后来,直接读取本地的JSON数据,发现一切都是正常的。调试的时候发现发现Ajax.aspx页面除了输出result之外,还输出了新建Ajax.aspx时默认的信息,删除只剩下
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Ajax.aspx.cs" Inherits="Ajax" %>时,终天可以正常显示了。显示效果图:
Windows 2003
VS 2005
Aptana
Ext2.0
二 客户端代码
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="resources/css/ext-all.css"/>
<!-- GC --><!-- LIBS -->
<script type="text/javascript" src="adapter/ext/ext-base.js">
</script>
<!-- ENDLIBS -->
<script type="text/javascript" src="ext-all.js">
</script>
<script type="text/javascript" src="array-grid.js">
</script>
<link rel="stylesheet" type="text/css" href="grid-examples.css"/>
<!-- Common Styles for the examples -->
</head>
<body>
</script>
<!-- EXAMPLES --><h1>Array Grid Example</h1>
<p>
This example shows how to create a grid from Array data.
</p>
<p>
Note that the js is not minified so it is readable. See <a href="array-grid.js">array-grid.js</a>.
</p>
<div id="grid-example" style="height:265px;"></div>
</body>
</html>
JS:
Ext.onReady(function()...{
var data = ...{totalProperty:10,root:[...{id:0,name:'name0',descn:'descn0'},...{id:1,name:'name1',descn:'descn1'},...{id:2,name:'name2',descn:'descn2'},...{id:3,name:'name3',descn:'descn3'},...{id:4,name:'name4',descn:'descn4'},...{id:5,name:'name5',descn:'descn5'},...{id:6,name:'name6',descn:'descn6'},...{id:7,name:'name7',descn:'descn7'},...{id:8,name:'name8',descn:'descn8'},...{id:9,name:'name9',descn:'descn9'}]};
var sm = new Ext.grid.CheckboxSelectionModel();
var cm = new Ext.grid.ColumnModel([sm,...{
header: '编号',
dataIndex: 'id'
}, ...{
header: '名称',
dataIndex: 'name'
}, ...{
header: '描述',
dataIndex: 'descn'
}]);
var ds = new Ext.data.Store(...{
// proxy: new Ext.data.MemoryProxy(data),
proxy: new Ext.data.HttpProxy(...{
url:'Ajax.aspx'
}),
reader: new Ext.data.JsonReader(...{
totalProperty: 'totalProperty',
root: 'root'
}, [...{
name: 'id'
}, ...{
name: 'name'
}, ...{
name: 'descn'
}])
});
// create the Grid
var grid = new Ext.grid.GridPanel(...{
ds: ds,
cm: cm,
height: 600,
width: 500,
title: 'Array Grid',
bbar: new Ext.PagingToolbar(...{
pageSize: 10,
store: ds,
displayInfo: true,
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录"
})
});
grid.render('grid-example');
grid.getSelectionModel().selectFirstRow();
//ds.load();
ds.load(...{
params: ...{
start: 0,
limit: 10
}
});
});
三 服务端代码
新建一个Ajax.aspx页面
using System;
using System.Data;
using System.Web;
public partial class Ajax : System.Web.UI.Page
...{
protected void Page_Load(object sender, EventArgs e)
...{
string start = this.Request.Form["start"];
string count = this.Request.Form["limit"];
string result;
int startNum;
int countNum;
try
...{
startNum = int.Parse(start);
countNum = int.Parse(count);
string tmp = "id:{0},name:'name{0}',descn:'descn{0}'";
string record = "{";
for (int i = startNum; i < startNum + countNum; i++)
...{
if (i != startNum)
record += ",{";
record += String.Format(tmp, i);
record += "}";
}
string resultTemplate = "totalProperty:100,root:[{0}]";
result = "{" + String.Format(resultTemplate, record) + "}";
}
catch ...{
result = “”;
}
Response.Write(result);
}
}
四 测试
代码不是很难,但刚开始调试的时候,一直没有出来结果。后来,直接读取本地的JSON数据,发现一切都是正常的。调试的时候发现发现Ajax.aspx页面除了输出result之外,还输出了新建Ajax.aspx时默认的信息,删除只剩下
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Ajax.aspx.cs" Inherits="Ajax" %>时,终天可以正常显示了。显示效果图:
相关文章推荐
- Ajax.NET在.Net 2.0中的应用实例
- Ext2.0 + .Net 2.0应用实例(2)--用ExtJS 实现动态载入树
- 1.TreeView.应用--2.asp.net 2.0中TREEVIEW中动态增加结点--3.msdn中nasp.net 2.0中TREEVIEW中动态增加结点--4.TreeView.ImageSet 属性,换换treeview的皮肤收藏
- 进度条在.net导入Excel时的应用实例
- .NET 2.0 泛型在实际开发中的一次小应用
- [原创]ASP.net 2.0 ObjectDataSource 应用操作代码实例(1)-—访问SQL2005
- FreeMarker在struts2.0,JAVA,web中的应用实例
- FreeMarker在struts2.0,JAVA,web中的应用实例 [转]
- .NET Remoting 应用实例
- Ajax 开发实例(Ajax.dll 和 .Net 2.0)
- .net中应用正规表达式判断-两个常用实例
- 在范型中接口和实例间转换的问题Why No? .net 2.0 Generic cast Type From Instance to Interface
- Tangram商业版本预览(十): Tangram在.NET 2.0中的应用
- .Net 2.0实例学习:WebBrowser页面与WinForm交互技巧
- .NET 异常捕获机制的小技巧应用(实例:端口扫描程序)
- 小试SQLite [.NET 2.0中的应用]
- .Net 2.0实例学习:WebBrowser页面与WinForm交互技巧
- .net中应用SQL缓存(实例使用)
- Tangram商业版本预览(十): Tangram在.NET 2.0中的应用
- .NET 2.0里强类型数据创建多层应用