天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

VS 2010 和 .NET 4.0 系列之《在ASP.NET 4 Web Forms中實(shí)現(xiàn)URL導(dǎo)向》篇

系列文章導(dǎo)航:

VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改進(jìn) 》篇

VS 2010 和 .NET 4.0 系列之《干凈的Web.Config文件 》篇

VS 2010 和 .NET 4.0 系列之《起始項(xiàng)目模板》篇

VS 2010 和 .NET 4.0 系列之《多定向支持》篇

VS 2010 和 .NET 4.0 系列之《多顯示器支持》篇

VS 2010 和 .NET 4.0 系列之《代碼優(yōu)化的Web開發(fā)Profile》篇

VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代碼片段支持》篇

VS 2010 和 .NET 4.0 系列之《自動(dòng)啟動(dòng)ASP.NET應(yīng)用》篇

VS 2010 和 .NET 4.0 系列之《在ASP.NET 4 Web Forms中實(shí)現(xiàn)URL導(dǎo)向》篇

VS 2010 和 .NET 4.0 系列之《在VS 2010中查詢和導(dǎo)航代碼》篇

VS 2010 和 .NET 4.0 系列之《VS 2010代碼智能提示的改進(jìn)》篇

VS 2010 和 .NET 4.0 系列之《添加引用對(duì)話框的改進(jìn)》篇

VS 2010 和 .NET 4.0 系列之《內(nèi)置圖表控件》篇


  這是我針對(duì)即將發(fā)布的VS 2010 和 .NET 4所撰寫的 貼子系列的第八篇。今天的博客討論ASP.NET 4中一個(gè)很酷的新運(yùn)行時(shí)特性 - 對(duì)基于Web Forms的網(wǎng)頁(yè)使用URL導(dǎo)向(routing)的功能。

  什么是URL導(dǎo)向(Routing)?

  URL導(dǎo)向是我們最先在ASP.NET 3.5 SP1中引入的功能,為ASP.NET MVC應(yīng)用程序所用,以呈示干凈的,SEO友好的“web 2.0” URLs。URL導(dǎo)向讓你配置一個(gè)應(yīng)用以接受并不映射到實(shí)際文件的請(qǐng)求URL,你可以使用導(dǎo)向來定義對(duì)用戶來說在語(yǔ)義上有富有含義,有助于搜索引擎優(yōu)化(SEO)的URL。

  例如,一個(gè)顯示產(chǎn)品分類的傳統(tǒng)網(wǎng)頁(yè)的URL很可能是象下面這樣的:

     http://www.mysite.com/products.ASPx?category=software

  使用ASP.NET 4中的URL導(dǎo)向引擎,你現(xiàn)在可以配置應(yīng)用來接受下述URL來顯示同樣的信息:

     http://www.mysite.com/products/software

  在ASP.NET 4.0中,象上面這樣的URL現(xiàn)在既可映射到ASP.NET MVC控制器類,也可以映射到基于ASP.NET Web Forms的網(wǎng)頁(yè)。

  使用ASP.NET MVC映射URL

  ASP.NET 3.5 SP1中引入的URL導(dǎo)向引擎提供了一個(gè)強(qiáng)有力的方式來處理進(jìn)到服務(wù)器中來的URL。一般地,作為應(yīng)用起始代碼的一部分,你編寫代碼將匹配特定URL格式的URL注冊(cè)/映射到代碼處理器上。

  下面是一個(gè)例子,你如何可以使用目前的ASP.NET MVC將/products/softwareURL映射到擁有一個(gè)名叫“Browse”的action方法的名為“Products”的控制器類上:

  上面MapRoute()輔助方法的第一個(gè)參數(shù),“products-browse”,是該路徑的友好名稱。第二個(gè)參數(shù),“products/{category}”,則是匹配/products/software URL的URL過濾器,它會(huì)將URL的第二節(jié)當(dāng)作一個(gè)名為“category”的參數(shù)值處理,然后這個(gè)參數(shù)會(huì)被傳到ProductsController的Browse() action 方法中做處理。

  使用ASP.NET Web Forms映射URL

  除了映射到ASP.NET MVC控制器外,ASP.NET 4.0 現(xiàn)在還允許你使用URL導(dǎo)向引擎來將URL映射到ASP.NET Web Forms網(wǎng)頁(yè)上。

  下面是一個(gè)例子,你如何可以使用ASP.NET 4.0中新的MapPageRoute()輔助方法來將 /products/software URL映射到處于應(yīng)用根目錄下的“Products.ASPx”網(wǎng)頁(yè)之上:

  MapPageRoute()輔助方法的前二個(gè)參數(shù),與MapRoute()的一樣。第一個(gè)參數(shù)提供了路徑的友好名稱,第二個(gè)參數(shù)指定了所匹配的URL格式。但第三個(gè)參數(shù),指向Products.ASPx網(wǎng)頁(yè)來處理,而不是控制器類。你也可以對(duì)MapPageRoute()指定額外的參數(shù),來利用象“路徑約束”這樣的特性和提供“默認(rèn)參數(shù)值”,就象在基于ASP.NET MVC的路徑注冊(cè)中一樣。

  然后在Products.ASPx網(wǎng)頁(yè)中,你可以編寫象下面這樣的代碼,使用ASP.NET 4.0中新的Page.RouteData屬性來獲取通過/products/{category} URL 過濾器映射而來的“category”參數(shù)的值,然后將分類產(chǎn)品進(jìn)行數(shù)據(jù)綁定來顯示:

  除了使用象上面這樣的代碼、用編程的手法來獲取傳進(jìn)來的路徑參數(shù)外,你也可以在任何ASP.NET DataSource控件中,利用新的聲明式<ASP:routeparameter>控件,聲明式地綁定來自路徑的值。例如,在下面,我們使用了<ASP:routeparameter> 語(yǔ)句,將SELECT語(yǔ)句的@category參數(shù)綁定到URL路徑中/products/{category}參數(shù):

  ASP.NET Web Form中獲取URL

  ASP.NET中的URL導(dǎo)向引擎既可以用來將進(jìn)到服務(wù)器中來(incoming)的URL映射到代碼處理器上,也可使用同樣的映射注冊(cè)邏輯,使用編程的手法生成輸出到客戶端(outgoing)的URL。

  例如,在上面,當(dāng)我們映射 /products/{category} URL時(shí),我們給了它一個(gè)友好的名稱,叫“products-browse”。這還允許我們使用新的Page.GetRouteUrl()輔助方法,查詢URL導(dǎo)向系統(tǒng)中的路徑,或者,指定路徑針對(duì)的參數(shù),然后獲取映射到路徑的實(shí)際URL。例如,下面的代碼將獲取其值為“/products/software”的URL:

  你可以在你的后臺(tái)代碼文件中或你的 .ASPx標(biāo)識(shí)中使用上述輔助方法。

  現(xiàn)在還有一套Response.RedirectToRoute()方法,可以為你所用來將用戶重新定向到一個(gè)路徑(無(wú)論是MVC還是Web Forms),同時(shí)還可以傳遞參數(shù)。

  處理PostBack場(chǎng)景

  ASP.NET 4.0中的URL導(dǎo)向完全支持postback場(chǎng)景,<form runat=”server”> 控件會(huì)自動(dòng)地輸出導(dǎo)致頁(yè)面顯示的同個(gè)URL。例如,如果你用/products/software URL訪問一個(gè)網(wǎng)頁(yè),其中的服務(wù)器端的<form runat=”server”>控件會(huì)輸出一個(gè)<form action=”/products/software”> HTML元素到客戶端,這意味著,網(wǎng)頁(yè)上發(fā)生的任何postback場(chǎng)景都會(huì)保留原先的URL。

  這使得在Web Forms和 postback場(chǎng)景中支持干凈的,SEO友好的URL容易之極,避免了今天大家在使用URL重寫模塊取得類似效果時(shí)需要采用的一些招術(shù)。

  結(jié)束語(yǔ)

  ASP.NET 4.0 方便了干凈的,SEO友好的URL的實(shí)現(xiàn), 既可通過ASP.NET MVC來實(shí)現(xiàn),現(xiàn)在又可通過ASP.NET Web Forms來實(shí)現(xiàn)(你還可以有混合了兩者的應(yīng)用)。

  URL導(dǎo)向引擎使得注冊(cè)任何形狀或格式的URL,并將它們映射到任何你想要的處理器容易之極。因?yàn)閁RL導(dǎo)向引擎既可用于映射進(jìn)來的URL,也可用于生成輸出的URL,你可以在以后改變URL映射,而不必修改任何特定于網(wǎng)頁(yè)或控制器的代碼來反映這些變動(dòng),極大地方便了SEO優(yōu)化的應(yīng)用的建造。

  希望本文對(duì)你有所幫助,

  Scott

NET技術(shù)VS 2010 和 .NET 4.0 系列之《在ASP.NET 4 Web Forms中實(shí)現(xiàn)URL導(dǎo)向》篇,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 偷偷要色偷偷 | 丫鬟粗大狠狠贯穿h | 日韩一区二区三区视频在线观看 | 涩涩视频在线看 | 国产亚洲人成网站在线观看播放 | 后式大肥臀国产在线 | 亚洲精品成A人在线观看 | 无码丰满人妻熟妇区 | 青青热久精品国产亚洲AV无码 | 国产呦精品一区二区三区网站 | 亚洲欧美高清在线精品一区 | 亚洲国产精品一区二区久久第 | 大陆老熟女60岁 | 日韩 亚洲 欧美 中文 高清 | 蜜桃人妻无码AV天堂三区 | 最近中文字幕MV免费高清在线 | 神马电影院午夜神福利在线观看 | 人禽l交视频在线播放 视频 | chaopeng 在线视频| 国产亚洲精品AV麻豆狂野 | 国产精品一国产AV麻豆 | 午夜亚洲国产理论片二级港台二级 | 久久精品热线免费 | 精品国产美女AV久久久久 | 美女视频黄a视频全免费网站色窝 | 在线电影一区二区 | 久久大综合 | 麻豆啊传媒app黄版破解免费 | 无码一区二区在线欧洲 | 网友自拍成人在线视频 | 精品高潮呻吟99AV无码视频 | 纯肉高H种马艳遇风流多 | 抽插H浊水H嫩B父皇 虫族bl文全肉高h | 精品国产美女AV久久久久 | 日韩人妻双飞无码精品久久 | 亚洲欧美无码2017在线 | 99热在线观看 | av天堂电影网 | 日本高清免费一本视频在线观看 | 久久综合中文字幕无码 | 百度影音第四色 |