虽然什么后缀无所谓(html、shtml等),服务器端是完全可以进行自定义的处理后再返回html代码,我就想如果服务器端每次对客户端的请求都重新生成html页面,效率会怎么样,如果不是每次对客户端的请求都重新生成而是使用缓存,然后定时生成一次,效率又怎样?我想将页面以html呈现主要是考虑服务器资源,html页面也容易被google搜索到
解决方案 »
- WCF 传输 大数据问题
- 至少一个参数没有被指定值
- 真是大傻B一个啊,title竟然出现html标签
- 同一台电脑两个账号, 前一个被后一个覆盖 ,求解决办法
- VS.net2003怎么打包
- 访问被拒绝!!求救阿!
- 关于DATAGRID当点击一个sell弹出一个没有menubar和toolbar的新窗口问题
- MaxLength 仅适用于字符串数据类型。您不能将列“name”的属性 MaxLength 设置为非负数字
- 母版页和内容页的变量问题
- 关于.net framework版本的问题
- 读取session时出现“未将对象引用设置到对象的实例”
- 救命呀!!!哪位大哥知道用asp.net怎样判断数据库里存在表test1
数据绑定技术可以使用在IE4.0以上版本的IE浏览器中,网页制作者可以灵活的改变页面风格而无需担心破坏数据显示代码,因为数据和页面是分离的,相关代码也很少。当数据更新时,只需要刷新中间显示数据的部分,而页面的其它部分不变,就好像没有刷新一样,显示效果更好;因为只下载了数据部分,网页的其它部分没有重复下载,浏览速度更快。如果灵活应用,还可以实现无刷新搜索和分页等功能。
二、XML数据岛
在HTML中,可以加入<XML>标签,从而在HTML嵌入XML格式的数据,或者引用外部的XML格式的文件。通过设置<XML>标签的ID属性,可以通过脚本访问这些数据,也可以把它与<TABLE>捆绑到一起;也可以设置<XML>的SRC属性,导入外部的XML格式数据。
例如,下面是一个新闻系统的XML示例:
1、内部嵌入
<HTML>
...
<XML id="XMLData1">
<?xml version="1.0" encoding="gb2312"?>
<root>
<news>
<title>你好</title>
<content>你好吗</content>
<date>2002-2-23</date>
</news>
<news>
<title>你好1</title>
<content>哈哈哈</content>
<date>2002-2-23</date>
</news>
<news>
<title>大家好哇</title>
<content>大家好哇1</content>
<date>2002-2-23</date>
</news>
</root>
</XML>
...
<HTML>
2、外部文件
<HTML>
...
<XML id="XMLData1" src="search.asp">
</XML>
...
</HTML>
三、<Table>标签的属性设置
<TABLE>有一个DataSrc属性用于指定数据源。比如,有一个名为:XMLDS01的XML数据岛作为数据源,<TABLE>的写法就是:
<TABLE DataSrc="#XMLDS01">
注意:要在引用的数据源名称前加#号。
规范的<TABLE>有三个部分:<THEAD>、<TBODY>、<TFOOT>。在数据捆绑技术中,通常把表头和表尾分别写在<THEAD>和<TFOOT>中,在其中写一些表格标题之类的文字。而<TBODY>可以对数据源提供的数据做循环显示。但是,<TD>标签不能和数据源捆绑在一起,所以需要在<TD>里加一个可捆绑的<DIV>标签作为数据的容器。例如,前面新闻系统数据捆绑的代码如下:
<table datasrc="#XMLDS01" name="tbNews">
<thead>
<tr>
<td>新闻标题</td>
<td>内容提示</td>
<td>日期</td>
</tr>
</thead>
<tbody>
<tr>
<td>
<div datafld="title"></div>
</td>
<td>
<div datafld="content"></div>
</td>
<td>
<div datafld="date"></div>
</td>
</tr>
</tbody>
</table>
上面的代码将一个HTML表格与一个名为XMLDS01的数据源绑定在一起。上面已经提到,XML数据岛引用的外部文件只要在格式上符合XML标准即可,扩展名不一定需要是.XML。所以,我们可以通过ASP产生XML格式的输出,然后通过HTML的<XML>标签与表格捆绑在一起:
<XML id="XMLData1" src="search.asp"></XML>
注意:XML的标签是区分大小写的!并且所有的标签都需要关闭,输出时一定要注意匹配;ASP默认的Content-Type是text/html,在这里需要通过Response.ContentType="text/xml"来设置一下,使浏览器把输出结果当xml处理。
示例代码:
在后台提供数据的search.asp文件:
<%
dbstr="Driver={Microsoft Access Driver (*.mdb)};DBQ="&server.mappath("basicnews.mdb")
set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = dbstr
rs.Source = "SELECT * from tblNews1"
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 3
rs.Open()
szXml="<?xml version=""1.0"" encoding=""gb2312""?><root>"
do while not rs.eof
szXml=szXml&"<news>"
szXml=szXml&"<title>"&rs("Title")&"</title>"
szXml=szXml&"<content>"&rs("content")&"</content>"
szXml=szXml&"<date>"&rs("CreaDate")&"</date>"
szXml=szXml&"</news>"
rs.movenext
loop
szXml=szXml&"</root>"
response.ContentType="text/xml"
response.write szXml
set rs=nothing
%>
在前台设置数据显示样式的list.html文件:
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<XML id="XMLDS01" src="search.asp"></XML>
<table datasrc="#XMLDS01" name="tbNews">
<thead>
<tr>
<td>新闻标题</td>
<td>内容提示</td>
<td>日期</td>
</tr>
</thead> <tbody>
<tr>
<td>
<div datafld="title"></div>
</td>
<td>
<div datafld="content"></div>
</td>
<td>
<div datafld="date"></div>
</td>
</tr>
</tbody>
</table>
</BODY>
</HTML>
以上代码通过修改,可以实现搜索功能,只要传递搜索参数给search.asp文件,使asp文件只输出搜索后的数据。