有沒有辦法讓我通過使用global.asax.cs
中的規則將訪問localhost/subscribe
的所有人都重定向到localhost/subscribe.aspx
或者我應該從操作重定向?在global.asax.cs上重定向路由
2
A
回答
8
下面的代碼應該爲你工作:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
if (Request.RawUrl.ToLower().EndsWith("subscribe"))
{
Response.Redirect("subscribe.aspx");
}
}
或者內部Application_PreRequestHandlerExecute方法,如果你要還使用會話驗證
3
2
如果要重定向虛擬URL到物理文件,它是在Global.asax中很容易做到這一點:
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
RouteTable.Routes.MapPageRoute("Key", "Home", "~/Public/Pages/Default.aspx");
}
在這種情況下,
重定向到
只是一個供參考,這樣在客戶端上不重定向,重定向服務器上,這意味着服務器不會返回帶有新地址的302,它只是將您指向的內容發送回去。
這也是漂亮添加變量,像這樣:
routes.MapPageRoute("MainPublic3", "Public/Pages/{PAGE}/{CHILD}", "~/Public/Pages/Pages.aspx");
這些就在代碼中訪問的背後是這樣的:
string page = Page.RouteData.Values["PAGE"];
string child = Page.RouteData.Values["CHILD"];
我們用這個,我的工作一切,當然我們正在切換到MVC :)
+0
感謝您的幫助。它有點遲,但那會幫助我很多。 –
相關問題
- 1. 路由重定向
- 2. 角UI-路由器重定向路由
- 3. Codeigniter路由不重定向
- 4. CakePHP重定向路由
- 5. Laravel 5.1路由重定向
- 6. MVC路由重定向
- 7. 路由太多重定向
- 8. 路由約束重定向
- 9. Laravel路由與重定向
- 10. Laravel重定向到路由
- 11. Angular2路由重定向routeParams
- 12. 重定向路由值
- 13. angularjs:路由重定向
- 14. 錯誤路由和重定向環路
- 15. 在MVC中使用路由重定向
- 16. 在Rails中重定向和路由
- 17. 重定向到在路由未註冊
- 18. Cakephp,在路由中重定向。
- 19. Zend Framework - 重定向到路由方向
- 20. CakePHP路由,反向重定向
- 21. 用koa路由器在koa中嵌套路由重定向
- 22. 在路由重定向模塊中訪問Rails路由助手
- 23. 當沒有路由定義時,重定向到Home路由
- 24. URI ::在軌道上的路由重定向在我的routes.rb
- 25. ASP.Net MVC - 重定向到路由給重定向循環
- 26. React路由器不在服務器上重定向
- 27. 攔截路由並重定向登錄
- 28. Symfony2路由之前重定向
- 29. Laravel沒有重定向到路由
- 30. Laravel 5.3認證路由重定向到/
我不認爲對每個請求進行自定義字符串評估是最佳解決方案。客戶路線,達拉斯建議是一個更好的解決方案。 – Maess
同意,但它僅僅是一個不同的簡單解決方案 – Vitaliy
我會用簡單的解決方案去討論。謝謝。 –