我正在开发一个市场应用程序,该应用程序应该具有映射到不同城市的不同产品和供应商。 这个想法是我需要在上下文中存储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)。
这是可能的还是有更好的方法来解决这个问题? 如果有人能指示我一个方向,我会很感激。