2012-12-14 42 views
4

點擊時,我的頁面上的鏈接會重定向到: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

我怎樣才能做到這一點的價值?

回答

1

根據您的示例URL,我假設您正在使用ASP.NET Web窗體。 如果這是正確的,我建議您檢查URL RewritingURL Friendly配置。

0

我在.NET 3.5中使用過urlrewriter,它工作得很好。

*鏈接已刪除,因爲它不再是工具。

+0

瘋了,我刪除了鏈接。它顯然被原主人拋棄了。 –

+0

我明白了。謝謝。 –

0

路由表:

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 [ 「類別」]作爲串;

來獲取每個部分的數據。

+0

ps。 urlrewriter可以,但很難調試。我努力了。 – mark

+1

routes.MapPageRoute只能在.net 4.0中工作,不在3.5我認爲。 – user1904478

0

達斯汀·萊恩, 我有嘗試你給的鏈接,並嘗試這一點,但所有的時間其重定向到同一個頁面,

<rewriter> 
<rewrite url="/models/(.+)" to="/document.aspx?sid=$1&amp;rid=$2&amp;mid=$3" /> 
<rewrite url="/implementation/(.+)" to="/document.aspx?sid=$1&amp;rid=$2&amp;mid=$3" /> 
<rewrite url="/outcomes/(.+)" to="/document.aspx?sid=$1&amp;rid=$2&amp;mid=$3" /> 
<rewrite url="/publications/(.+)" to="/document.aspx?rid=$1&amp;sid=$2&amp;mid=$3" /> 
<rewrite url="/help/(.+)" to="/document.aspx?rid=$1&amp;sid=$2&amp;mid=$3" /> 
<rewrite url="/aboutus/(.+)" to="/document.aspx?rid=$1&amp;sid=$2&amp;mid=$3" /> 
<rewrite url="/review/(.+)" to="/document.aspx?rid=$1&amp;sid=$2&amp;mid=$3" /> 
</rewriter> 

,我認爲它不是說的$ 1,$ 2,$ 3的值東陽中我的目標網址類似於/document.aspx?sid=42 & rid = 1 & mid = 1但是當我在url中鍵入的是this/models/childfirst/inbrief。