2013-01-16 26 views
1

我正在爲銷售某些產品的公司開發應用程序,並且此應用程序負責管理產品更改和退貨。對於更改和返回有不同的規則,但「屏幕/視圖」完全相同。此應用程序必須爲每種類型都有不同的URL。例如:如何'鍵入'我的應用程序,通過頁面堅持這種類型

www.company.com/change

www.company.com/return

應用需要有一個Login頁面了。

當我訪問www.company.com/CHANGE用戶被重定向到登錄頁面,該頁面有change文字的標籤。

當我訪問www.company.com/RETURN用戶被重定向到登錄頁面,該頁面有return文字的標籤。

的問題是:如何通過網頁堅持這種類型,提醒的是,如果用戶在應用程序和註銷的驗證區域內,他必須回到正確的登錄頁面,以正確​​的標籤文本。

我試圖存儲在會話類型,但如果會議結束了,這是不可能知道我的參數必須傳遞到登錄頁面(更改或Return)

我嘗試過,創建一個新的路線Global.asax喜歡堅持的類型,這樣的:

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

但這個網址,例如: 「XXX的/ home /列表」 的比賽,我想這只是

return/abc/abc 

change/abc/abc 

匹配。

我會堅持在數據庫中的記錄與這種類型的,在這個過程的結束。

我該如何解決這種情況?

回答

1

問題需要澄清一點的,但如果我理解正確的話,簡單地將所有鏈接和包含{}類型參數的URL。

我做了一個小試驗,我得到的是:

global.asax中

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

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

而且在的LoginController你可以得到喜歡的類型:

public ActionResult Index(string type) 
{ 
    return View(); 
} 

您可以爲會話的過期創建自定義屬性,如描述的Here並將用戶返回到相應的頁面www.company.com/{type}

相關問題