我正在開發一個市場應用程序,該應用程序應該具有映射到不同城市的不同產品和供應商。 這個想法是我需要在上下文中存儲CurrentCity,以便我可以使用它來構建URL,過濾數據,獲取傳送區域等。如何在所有路線中設置{city} MVC 5
www.mywebsite.com/cityA/listings
www.mywebsite.com/cityB/listings
www.mywebsite.com/cityA/cart
www.mywebsite.com/cityB/cart
有點像MoonPig網站(https://www.moonpig.com/uk/Gift/Flowers/)
目前,我途經城市作爲參數,幾乎所有的控制方法和存儲也是它在cookie中。
另外,我也想創建一個BaseController,並可能將其注入OnActionExecuting(ActionExecutingContext上下文)中。
但與第一種方法的問題是,所有的操作方法,需要有「城市」作爲參數,我需要把它在上下文做這樣的事情
@Url.Action("Index", "Listings", new {city = cityName})
如果我用的是第二的方法,那麼我不認爲我會得到其中有城市的網址。
我正在尋找一種解決方案,我可以在MVC RouteDictionary中將城市參數注入爲基本路由/段,以便所有Url都相應地生成(使用@url helper)。
這是可能的還是有更好的方法來解決這個問題? 如果有人能指示我一個方向,我會很感激。