asp.net UrlReWriter使用經(jīng)驗(yàn)小結(jié)
第二步,在Web.config中加入:
<?xml version="1.0" encoding="gb2312" ?>
<configuration>
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
第二步,加入重寫(xiě)的規(guī)則節(jié)點(diǎn):
如:
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/Sell/(.[0-9]*)\.html</LookFor>
<SendTo>~/Search/Search_Sell.aspx?id=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Sell/Search_Sell\.aspx</LookFor>
<SendTo>~/Search/Search_Sell.aspx</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Buy/(.[0-9]*)\.html</LookFor>
<SendTo>~/Search/Search_Buy.aspx?id=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Buys/(.[0-9]*)\.html</LookFor>
<SendTo>~/Buys/Show.aspx?id=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
這個(gè)就要根據(jù)你的需要了,如果你對(duì)正則表達(dá)式不熟,那么沒(méi)辦法,要么憑借你的高智商去找其中規(guī)律,稍稍改一下就能為你所用了。呵呵。如果實(shí)在搞不清,那就自己GOOGLE一下正則表達(dá)式吧。(本人開(kāi)始是參考別人的配置猜的,竟然用對(duì)了,呵呵。后來(lái)還是看了一下相關(guān)資料,發(fā)現(xiàn)這東東很有用。)
第三步,加入模塊配置(寫(xiě)在<system.web>里面):
如:
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
(這里表示使用HTTP程序來(lái)處理重寫(xiě))
好了,到了現(xiàn)在我們可以試一下看。
于是輸入:http://127.0.0.1:8080/Sell/1.aspx 出現(xiàn)了,呵呵。但是如果所它改為:http://127.0.0.1:8080/Sell/1.html
暈,發(fā)現(xiàn)不行。汗。。。
呵呵,原因是沒(méi)把HTML的解析用 asp.net 的ISAPI來(lái)解析。
辦法是。。。
第四步,在IIS\你的站點(diǎn)\屬性\主目錄\配置\映謝 加入一個(gè)和 aspx 頁(yè)面的配置相同的擴(kuò)展名項(xiàng)。注意“確認(rèn)文件是否存在”不要勾選,否則會(huì)出現(xiàn)找不到文件。
現(xiàn)在再來(lái)試試看。什么?#¥%#¥%#,還是不行。呵呵。不要急,咱們回過(guò)頭再來(lái)看看,原來(lái)在 web.config 中我們沒(méi)有配置 .html 也使用模塊此解析。
第五步,在模塊配置中加入:
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
現(xiàn)在總可以了吧,呵呵。終于看到了,興奮吧。不要急,這還只是最簡(jiǎn)單的。如果你的頁(yè)面有回傳。比如說(shuō)放了DATAGRID,有分頁(yè)的,你點(diǎn)到下一頁(yè)就發(fā)現(xiàn),暈倒,又出問(wèn)題了。
這下怎么辦呢,這個(gè)其實(shí)微軟件的網(wǎng)站上就有說(shuō)到,我在這里簡(jiǎn)述一下了。
第六步,加入窗體回傳保持的組件:
在原來(lái)你下載的項(xiàng)目里找到 ActionlessForm.dll 放到你的項(xiàng)目 bin 目錄下。
然后在你的這個(gè)頁(yè)面中加入:
<%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %>
再把你的<Form...>改為:
<skm:Form id="你的表單名" method="post" runat="server">
.....
</skm:Form>
相關(guān)文章
asp.net調(diào)用飛信免費(fèi)發(fā)短信(測(cè)試有效)
這篇文章主要介紹了asp.net如何調(diào)用飛信免費(fèi)發(fā)短信,記得要開(kāi)通飛信把對(duì)方加為好友才能發(fā),需要的朋友可以參考下2014-05-05Sqlite 常用函數(shù)封裝提高Codeeer的效率
以下是頻繁用到的Sqlite函數(shù),內(nèi)容格式相對(duì)固定,封裝一下有助于提高開(kāi)發(fā)效率^_^至少提高Codeeer的效率了2012-12-12Visual studio 2017添加引用時(shí)報(bào)錯(cuò)未能正確加載ReferenceManagerPackage包的解決方法
這篇文章主要介紹了VS2017添加引用時(shí)報(bào)錯(cuò)未能正確加載ReferenceManagerPackage包的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04ASP.NET操作Word的IIS權(quán)限設(shè)置
檢索 COM 類(lèi)工廠中 CLSID 為 {00024500-0000-0000-C000-000000000046} 的組件時(shí)失敗,原因是出現(xiàn)以下錯(cuò)誤: 80070005。2011-02-02asp.net下通過(guò)泛解析和偽靜態(tài)實(shí)現(xiàn)二級(jí)域名的實(shí)現(xiàn)方法
當(dāng)我們想做一個(gè)站群或想為每一個(gè)會(huì)員的主頁(yè)設(shè)置為一個(gè)二級(jí)域名時(shí),總是想拼命的去找些組件來(lái)實(shí)現(xiàn)。2010-10-10詳解ASP.NET Core中配置監(jiān)聽(tīng)URLs的五種方式
這篇文章主要介紹了詳解ASP.NET Core中配置監(jiān)聽(tīng)URLs的五種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04VS2017做為Unity3D的腳本編輯器需要的最精簡(jiǎn)組件
這篇文章主要為大家詳細(xì)介紹了VS2017做為Unity3D的腳本編輯器需要的最精簡(jiǎn)組件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04