XML+XSLT+CSS+JQuery+WebService组建Asp.Net网(2)

3.       更易于搜索引擎收录。首先就是此方案可以被搜索引擎收录,而Ajax方案的弊端就在这里;其次,搜索引擎喜欢冗余少的网站,这会一定程度上影响网站排名,而XML数据最为符合这一要求;再者,网址较为友好,这是相对MVC而言的,具体原因可参看我此前发表的一篇文章。

4.       更容易在其他客户端中使用。这一点Ajax方案也同样优秀,MVP方案实现起来有些困难,其他的方案都难以实现。

弊端

没有完美的事物,此方案弊端如下:

1.       更高的技术要求。显然相比以往的方案,此方案需要开发者掌握更多知识,并组合应用。

2.       更高的客户端负荷。XSLT加重了客户端的处理压力,虽然我们大都觉得客户端的运算资源负荷是一个可以忽视的问题,从而将尽可能多的运算放到客户端,但并不是所有客户都使用中高端的机器,尤其是对一些上网本用户而言,JS已经让他们头疼了。

3.       更差的兼容性。HTML、JS、CSS在各个浏览器上本就有些兼容性问题,现在XSLT又掺合进来,开发者面临的问题更为严峻。并且对于移动客户端、盲人阅读器及其他非常规客户端而言,XSLT是否会被解析都是个疑问。

范例

现在演示一个网站范例。

首先建立一个数据库,这里使

用的Accesee 2000-2003数据库,命名为Database.mdb,在其中建立User表:

输入一些数据,用于测试显示:

将其导入网站项目中的App_Data目录。

添加一个ashx文件,名为Default.ashx:

图片看不清楚?请点击这里查看原图(大图)。

输入以下代码:

using System;

using System.Web;

using System.Data.OleDb;

using System.Data;

using System.Xml;

public class Default : IHttpHandler

{

public void ProcessRequest(HttpContext context)

{

OleDbConnection c = new OleDbConnection(string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=""{0}"";Persist Security Info=True", HttpContext.Current.Server.MapPath(@"~\App_Data\Database.mdb")));

var ds = new DataSet();

c.Open();

//获取Url中的max参数

var max = 0;

Int32.TryParse(HttpContext.Current.Request.QueryString["max"],out max);

//读取数据

new OleDbDataAdapter(string.Format("select{0} * from [User]", max > 0 ? " top " + max : string.Empty), c).Fill(ds);

c.Close();

//建立XML文档

var xml = new XmlDocument();

xml.LoadXml(ds.GetXml());

//添加文档声明

xml.InsertBefore(xml.CreateXmlDeclaration("1.0", "UTF-8", null), xml.DocumentElement);

//添加xslt声明

var xsl = xml.CreateProcessingInstruction("xml-stylesheet", @"type=""text/xsl""   href=""Default.xslt""");

xml.InsertBefore(xsl, xml.DocumentElement);

//输出

context.Response.ContentType = "application/xml";

context.Response.Write(xml.InnerXml);

}

public bool IsReusable

{

get

{

return false;

}

}

}相关阅读:

Oracle DBA职责及日常工作分析

CSS:何制作一个向各个方向延展box?

从GRUB到内核 从内核到根文件系统

Windows Vista最惊艳的五大功能体验

五年内开源软件订购模式将成主流

aspx 服务器架设问题解决

asp.net Repeater 自递增

玩转Dreamweaver 8:了解CSS层叠样式表

一个.NET上的文档数据库,Raven

在Windows XP系统下虚拟机Linux文件共享

Ubuntu 下安装 QT 开发环境

WordPress安装插件内存不足的解决方法

节能型小Ubuntu问世 嵌入式发财梦破灭

Jquery中Ajax 缓存带来的影响的解决方法

webservice的css哪里添加,jQuery_XML+XSLT+CSS+JQuery+WebService组建Asp.Net网(2), 3.       更 - phpStudy...相关推荐

  1. webservice的css哪里添加,XML+XSLT+CSS+JQuery+WebService组建Asp.Net网站

    时至今日,使用这种方案建站的人依然寥寥无几,大家还都在抱着Web标准化不撒手,其实Web标准化只是将表现(Css)分离了出来,而数据和结构仍然混杂在一起,它绝对不是我们最终的归宿,它只是一个过渡品. ...

  2. python 为html页面增加背景_Python 给html css自动添加注释

    Python 给html css自动添加注释(2020年11月8日) 背景 大二上学期专业开设了网页设计课程,专门学习html和css,有时候也经常有同学找我来帮忙看看他们写的代码,并且改改,我就忽然 ...

  3. 值得使用的CSS库添加图像悬停效果!

    一个悬停效果简单来说可以定义为在颜色,产生的效果文字的大小或形状或任何其他形式的变化发生,当你把鼠标光标移动到图像.这可以通过CSS编码容易实现.这里我们介绍国外8个CSS库添加图像悬停效果,提高网站 ...

  4. php判断第一个插入css,织梦dedecms的arclist循环中判断第一个li,则添加固定的css否则不加...

    dedecms的arclist循环中,判断如果是第一个li,则添加固定的css,否则不加 经过测试,同样在channel标签里也适用. 写法如下: 复制代码代码如下:{dede:arclist row ...

  5. 利用CSS在图片中添加文字

    前端项目中想要在图片中添加文字,方法有两种:1.js:2.css.第一种方法比较复杂,主要是写将图片与文字组合成新的图片的js代码,第二种方法简单粗暴,这里只讲第二种方法. 利用css在图片中添加文字 ...

  6. php css下划线,css如何添加文字下划线样式?(代码详解)

    css如何添加文字下划线样式?本篇文章就给大家介绍css添加文字下划线样式的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 首先我们来了解一下css添加文字下划线样式的方法有哪 ...

  7. CSS如何添加阴影效果?

    在CSS中可以使用阴影效果属性在HTML文档中添加文本和边框(图像)阴影.下面本篇文章就来给大家介绍一下CSS的阴影效果属性,CSS添加阴影效果的方法,希望对大家有所帮助. 1.添加文本阴影 在CSS ...

  8. jQuery第5章简答题4(使用css()方法添加图片边框)5(制作林徽因简介页面)

    ps:简答题4(使用css()方法添加图片边框) 代码如下: <!DOCTYPE html> <html lang="en"> <head>&l ...

  9. 城市简码_如何使用简码在WordPress中添加Twitter Bootstrap CSS

    城市简码 Adding CSS elements like tooltips, colorful buttons, and roll-over effects can help your conten ...

最新文章

  1. 已知2个整形数据a,b.不使用if,?:以及其他任何条件判断的语法,找出a跟b中数据的大者。
  2. Codeforces Round #369 (Div. 2)
  3. 最近一直想写一个关于Installshield的连载专题
  4. Python 爬虫浏览器伪装技术
  5. stm32 invalid rom table(转载)
  6. 11.10/11.11/11.12 安装PHP5 11.13 安装PHP7
  7. 传统公司部署OpenStack(t版)简易介绍(一)——环境部署
  8. Datawhale-零基础入门NLP-新闻文本分类Task04
  9. 【转载保存】java静态方法继承与保存的问题
  10. Rabbitmq专题:rabbitmq消费端如何做限流?
  11. RedHat Linux 5企业版开启VNCSERVER远程桌面功能[转]
  12. centos mysql开发包_CentOS 7 安装 MySQL-阿里云开发者社区
  13. spring事物配置
  14. 聊聊最近的CPA心得吧
  15. 针对浏览器主页被360或hao123锁定的解决方法
  16. 底特律中国工程师协会研讨汽车技术新动向
  17. SpringBoot(2)
  18. 微信客服为什么不能人工服务器,微信客服消息格式限制及功能
  19. Android控件之TextView全解析
  20. a 标签的 target 属性、描点链接

热门文章

  1. rfid6-写成platform驱动
  2. git 本地分支与远程分支关联的一种方法
  3. linux文件层级、目录、文件基本操作介绍
  4. Vue.js第六课 计算属性
  5. SQL Server-表表达式基础回顾(二十四)
  6. 10个 DIV+CSS 需要注意的问题
  7. 师大校园网迅雷解封软件 Ver1.0.1.5(2009-06-12)
  8. 将CLASS文件打包成可运行的jar文件
  9. Python丨为什么你学不好设计模式?
  10. GitHub上个最有意思的项目合集(技术清单系列)