|
利用ajax實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)靜態(tài)化,是目前一個(gè)比較流行的網(wǎng)站開發(fā)技術(shù)。
在這里,我利用三個(gè)頁(yè)面簡(jiǎn)單的實(shí)現(xiàn)一個(gè)效果: Default.aspx、1.html、GetDate.aspx 在Default.aspx綁定新聞的標(biāo)題,這里,我們也可以利用ajax從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),這里就省了。
五個(gè)新聞標(biāo)題,單擊傳一個(gè)Id到1.html這個(gè)頁(yè)面中。,我們的1.html還是利用昨天的那個(gè)網(wǎng)頁(yè)模板
在1.html這個(gè)頁(yè)面的HTML代碼中,我們利用js與ajax聯(lián)合來(lái)實(shí)現(xiàn) <script language="javascript" type="text/javascript"> //首先獲取URL路徑,然后獲取傳過(guò)來(lái)的編號(hào) var url=location.href; var id=url.split('='); var NewsId=id[1]; var NId=parseInt(NewsId);
var xmlhttp; xmlhttp.open("GET",url1,true); return false;//這里返回false就是為了屏蔽掉服務(wù)器端的時(shí)間
</script>
我們來(lái)看一下GetDate.aspx這個(gè)讀取數(shù)據(jù)頁(yè)的代碼 public override void ProcessRequest(HttpContext context) //這是一個(gè)內(nèi)置的方法,它是專門處理http信息的一個(gè)方法,具體講解參看:http://technet.microsoft.com/zh-cn/cc680109.aspx string content = null; SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=;database=mydemo"); string str = "select * from Newsinfo where NewsId=@Id"; SqlCommand com = new SqlCommand(str, conn); com.Parameters.Add("@Id", SqlDbType.Int, 4); com.Parameters["@Id"].Value =context.Request.QueryString["nid"]; conn.Open(); SqlDataReader dr = com.ExecuteReader(); if (dr.Read()) string Str1 =title+ "|" + content; context.Response.Write(Str1); 到目前為止,我們?nèi)魏螐臄?shù)據(jù)庫(kù)讀取到的數(shù)據(jù),都會(huì)在一個(gè)靜態(tài)頁(yè)面上顯示,實(shí)現(xiàn)了我們想要的結(jié)果。 |
|
|