我需要解決在asp.net 4.0中使用路由功能進行url重寫的問題。 當用戶鍵入URL喜歡解析URL重寫的查詢字符串asp.net 4.0
www.mysite.com/product.aspx?id=101
然後右頁顯示,但想如果我更改頁面位置和名稱,當用戶鍵入網址像
www.mysite.com/product.aspx?id=101
然後會出現找不到網頁的錯誤。
所以請告訴我如何使用asp.net 4.0路由功能來解決這種情況。 有可能嗎?
我處理程序路由和喜歡我的示例代碼
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RouteTable.Routes.MapPageRoute
("Source", "Source/{ID}/{Title}", "~/Source.aspx");
RouteTable.Routes.MapPageRoute
("Source1", "MyData/Source/{ID}/{Title}", "~/MyData/Source.aspx");
}
上面的代碼只是樣品,我這樣做的URL重寫。這很容易。 但是,如果我需要解決我的路由上面的URL映射問題,那麼我怎麼能這樣做以及我需要在Application_Start
事件中寫什麼樣的代碼。
我想,當用戶類型
www.mysite.com/product.aspx?id=101
那麼它應該重定向到
www.mysite.com /prod/Myproduct.aspx?prodid=101
此網址。所以請指導我如何在asp.net 4.0路由功能的幫助下完成這種映射。
感謝...ü給product.aspx/{*}的Prodid。爲什麼* *的含義是什麼。也告訴我們可以使用什麼其他標誌。 –
我收到*的錯誤。錯誤文本是「一個全部收集參數只能顯示爲路由URL的最後一部分。 參數名稱:routeUrl「請指導我解決它 –
對不起,我得到了選項2錯誤,我正在考慮一個不同的場景 - 我已經更新,'*'使最後一個參數匹配最後一個參數分割。 – TheCodeKing