1

我已经设置了两个自定义扩展来在 IIS6 中启用 MVC。

因此,可以使用类似...的 URL 访问该站点

mysite/mycontroller.europe/myaction

或者喜欢...

mysite/mycontroller.america/myaction

RequestContext从实例中找到扩展的最可靠方法是什么?

所以我希望能够写出类似...

var location = reqContext.......GetExtenstion(); // location = "europe"

即使站点/目录的设置发生了一些变化,显然也可以进行这项工作。

4

2 回答 2

2

定义路线:

routes.MapRoute(
    "DefaultWithExtension",
    "{controller}.{extension}/{action}",
    new { controller = "Home", action = "Index", extension = "america" }
);

接着:

var extension = RequestContext.RouteData.GetRequiredString("extension");
于 2011-05-19T06:36:55.917 回答
0

您也可以将扩展定义为控制器所有相关操作的字符串参数,在这种情况下它将直接可用。例如

public ActionResult myaction(string extension)

这仍然需要上面定义的 mapRoute 条目。

于 2014-07-02T01:35:21.963 回答