webservice的css哪里添加,jQuery_XML+XSLT+CSS+JQuery+WebService组建Asp.Net网(2), 3. 更 - phpStudy...
XML+XSLT+CSS+JQuery+WebService組建Asp.Net網(wǎng)(2)
3. 更易于搜索引擎收錄。首先就是此方案可以被搜索引擎收錄,而Ajax方案的弊端就在這里;其次,搜索引擎喜歡冗余少的網(wǎng)站,這會(huì)一定程度上影響網(wǎng)站排名,而XML數(shù)據(jù)最為符合這一要求;再者,網(wǎng)址較為友好,這是相對(duì)MVC而言的,具體原因可參看我此前發(fā)表的一篇文章。
4. 更容易在其他客戶端中使用。這一點(diǎn)Ajax方案也同樣優(yōu)秀,MVP方案實(shí)現(xiàn)起來有些困難,其他的方案都難以實(shí)現(xiàn)。
弊端
沒有完美的事物,此方案弊端如下:
1. 更高的技術(shù)要求。顯然相比以往的方案,此方案需要開發(fā)者掌握更多知識(shí),并組合應(yīng)用。
2. 更高的客戶端負(fù)荷。XSLT加重了客戶端的處理壓力,雖然我們大都覺得客戶端的運(yùn)算資源負(fù)荷是一個(gè)可以忽視的問題,從而將盡可能多的運(yùn)算放到客戶端,但并不是所有客戶都使用中高端的機(jī)器,尤其是對(duì)一些上網(wǎng)本用戶而言,JS已經(jīng)讓他們頭疼了。
3. 更差的兼容性。HTML、JS、CSS在各個(gè)瀏覽器上本就有些兼容性問題,現(xiàn)在XSLT又摻合進(jìn)來,開發(fā)者面臨的問題更為嚴(yán)峻。并且對(duì)于移動(dòng)客戶端、盲人閱讀器及其他非常規(guī)客戶端而言,XSLT是否會(huì)被解析都是個(gè)疑問。
范例
現(xiàn)在演示一個(gè)網(wǎng)站范例。
首先建立一個(gè)數(shù)據(jù)庫,這里使
用的Accesee 2000-2003數(shù)據(jù)庫,命名為Database.mdb,在其中建立User表:
輸入一些數(shù)據(jù),用于測(cè)試顯示:
將其導(dǎo)入網(wǎng)站項(xiàng)目中的App_Data目錄。
添加一個(gè)ashx文件,名為Default.ashx:
圖片看不清楚?請(qǐng)點(diǎn)擊這里查看原圖(大圖)。
輸入以下代碼:
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參數(shù)
var max = 0;
Int32.TryParse(HttpContext.Current.Request.QueryString["max"],out max);
//讀取數(shù)據(jù)
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;
}
}
}相關(guān)閱讀:
Oracle DBA職責(zé)及日常工作分析
CSS:何制作一個(gè)向各個(gè)方向延展box?
從GRUB到內(nèi)核 從內(nèi)核到根文件系統(tǒng)
Windows Vista最驚艷的五大功能體驗(yàn)
五年內(nèi)開源軟件訂購模式將成主流
aspx 服務(wù)器架設(shè)問題解決
asp.net Repeater 自遞增
玩轉(zhuǎn)Dreamweaver 8:了解CSS層疊樣式表
一個(gè).NET上的文檔數(shù)據(jù)庫,Raven
在Windows XP系統(tǒng)下虛擬機(jī)Linux文件共享
Ubuntu 下安裝 QT 開發(fā)環(huán)境
WordPress安裝插件內(nèi)存不足的解決方法
節(jié)能型小Ubuntu問世 嵌入式發(fā)財(cái)夢(mèng)破滅
Jquery中Ajax 緩存帶來的影響的解決方法
總結(jié)
以上是生活随笔為你收集整理的webservice的css哪里添加,jQuery_XML+XSLT+CSS+JQuery+WebService组建Asp.Net网(2), 3. 更 - phpStudy...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云服务器维护人员,云服务器维护工作难吗
- 下一篇: dns服务器zones文件,DNS服务安