點擊時,我的頁面上的鏈接會重定向到:URL重寫在.net 3.5
http://www.abc.com/document.aspx?sid=42&rid=1&mid=1
我想表明它在地址欄中顯示爲:
http://www.abc.com/models/childfirst/inbrief
凡
models
成爲值的值rid
childfirst
成爲sid
inbried
值成爲mid
我怎樣才能做到這一點的價值?
點擊時,我的頁面上的鏈接會重定向到:URL重寫在.net 3.5
http://www.abc.com/document.aspx?sid=42&rid=1&mid=1
我想表明它在地址欄中顯示爲:
http://www.abc.com/models/childfirst/inbrief
凡
models
成爲值的值rid
childfirst
成爲sid
inbried
值成爲mid
我怎樣才能做到這一點的價值?
根據您的示例URL,我假設您正在使用ASP.NET Web窗體。 如果這是正確的,我建議您檢查URL Rewriting和URL Friendly配置。
我在.NET 3.5中使用過urlrewriter,它工作得很好。
*鏈接已刪除,因爲它不再是工具。
路由表:
http://msdn.microsoft.com/en-us/library/cc668201%28v=vs.100%29.aspx
你也可以使用路由表,
的Global.asax
的RegisterRoutes(RouteTable.Routes);在application_onstart
然後創建的路由需要:
routes.MapPageRoute( 「名稱」, 「節/ {類別}」, 「〜/部分/的Index.aspx」);
則可以使用:
_value = Page.RouteData.Values [ 「類別」]作爲串;
來獲取每個部分的數據。
ps。 urlrewriter可以,但很難調試。我努力了。 – mark
routes.MapPageRoute只能在.net 4.0中工作,不在3.5我認爲。 – user1904478
達斯汀·萊恩, 我有嘗試你給的鏈接,並嘗試這一點,但所有的時間其重定向到同一個頁面,
<rewriter>
<rewrite url="/models/(.+)" to="/document.aspx?sid=$1&rid=$2&mid=$3" />
<rewrite url="/implementation/(.+)" to="/document.aspx?sid=$1&rid=$2&mid=$3" />
<rewrite url="/outcomes/(.+)" to="/document.aspx?sid=$1&rid=$2&mid=$3" />
<rewrite url="/publications/(.+)" to="/document.aspx?rid=$1&sid=$2&mid=$3" />
<rewrite url="/help/(.+)" to="/document.aspx?rid=$1&sid=$2&mid=$3" />
<rewrite url="/aboutus/(.+)" to="/document.aspx?rid=$1&sid=$2&mid=$3" />
<rewrite url="/review/(.+)" to="/document.aspx?rid=$1&sid=$2&mid=$3" />
</rewriter>
,我認爲它不是說的$ 1,$ 2,$ 3的值東陽中我的目標網址類似於/document.aspx?sid=42 & rid = 1 & mid = 1但是當我在url中鍵入的是this/models/childfirst/inbrief。
瘋了,我刪除了鏈接。它顯然被原主人拋棄了。 –
我明白了。謝謝。 –