2012-06-27 27 views
0

的特定網頁,我的Web應用程序具有URL www.example.com/Test/IndexURL重定向到一個新的頁面在C#

不過,我想使這個URL訪問時,用戶只需輸入www.example.com/Test,而不是整個事情。

那麼這怎麼可以單獨使用C#來完成呢?任何幫助將不勝感激!

+2

我們應該假設這是在ASP.NET中嗎?它是WebForms還是MVC? –

+0

對不起,我忘了提到這一點,它是MVC – BurninatorDor

回答

3

您可以使用重定向。在ASP.NET中,這是Response.Redirect。在MVC中,這是RedirectToAction(「Index」)。這將導致他們的瀏覽器然後請求另一個URL。

如果您不想更改/重定向URL並顯示www.example.com/Test,那麼您可以使用服務器端重定向。 ASP.NET:Server.Transfer。在MVC中,你可以只用return Index();,但這有時會有問題。更好的選擇是使用默認路由:

public class MvcApplication : System.Web.HttpApplication 
    { 
... 
    public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Test", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
    ); 

    } 

您應該在任何新創建的MVC 3應用程序中自動獲取此代碼。您只需爲要控制此默認路由的控制器定製它即可。

+0

從哪裏應該調用'RegisterRoutes'方法?什麼參數應該傳遞? – BurninatorDor

+2

你不會自己調用它,它會自動調用,只是因爲它在Global.asax.cs文件中(你應該已經自動擁有這個文件)。所以你所要做的就是編輯RegisterRoutes方法。 MVC框架負責在應用程序啓動時自動調用該方法。 – AaronLS

+0

謝謝,這真的有幫助! – BurninatorDor