我已经设置了两个自定义扩展以在IIS6中启用MVC。
因此,可以使用类似......的网址访问该网站。
mysite/mycontroller.europe/myaction
或者喜欢...
mysite/mycontroller.america/myaction
从RequestContext
实例中找到扩展程序的最有效方法是什么?
所以我希望能够写出类似......
的内容var location = reqContext.......GetExtenstion(); // location = "europe"
并且即使站点/目录的设置稍有变化,显然也能正常工作。
答案 0 :(得分:2)
定义路线:
routes.MapRoute(
"DefaultWithExtension",
"{controller}.{extension}/{action}",
new { controller = "Home", action = "Index", extension = "america" }
);
然后:
var extension = RequestContext.RouteData.GetRequiredString("extension");
答案 1 :(得分:0)
此外,您可以将扩展名定义为控制器的所有相关操作的字符串参数,在这种情况下,它将直接可用。 e.g。
public ActionResult myaction(string extension)
这仍然需要上面定义的mapRoute条目。