代表控制器+动作集的ASP.NET MVC类?

时间:2009-08-05 07:43:23

标签: asp.net-mvc url controller action routes

ASP.NET MVC框架中是否有一个表示控制器名称和操作名称的类?

我正在编写一个返回URL集合的方法,我希望它们作为包含“Controller”和“Action”属性或类似内容的对象返回。

这是因为有时候我需要仅隔离控制器名称或仅隔离操作名称。

还有Route对象,但对于我正在尝试做的事情来说,这似乎太重了。

ASP.NET MVC中是否有更简单的抽象?

1 个答案:

答案 0 :(得分:2)

虽然控制器基类不是名称,但操作名称只是一个字符串,ActionInvoker将使用该字符串通过反射找到正确的操作。

我认为您必须使用Route Values Dictionary键/值对来表示路线。

RouteValueDictionary myValues = new RouteValueDictionary();
myValues.Add("Controller", "myController");

如果您不希望/不能访问Routing命名空间,则可以使用普通字典,然后将其转换为RouteValueDictionary。

在这种方法中,您可以使用标准字典或routeValue字典的键来隔离控制器或操作。

String ControlString = myValues["Controller"] 

然后用它做你想做的事。也许使用常量来获取您想要访问的键。