ASP MVC路由

时间:2010-04-28 15:14:47

标签: asp.net asp.net-mvc-routing

现在这可能是一个愚蠢的问题,但我是mvc的新手,似乎无法让它发挥作用。

以下是我希望能够使用网址/路线:

1)www.domain.com/name/home/index
2)www.domain.com/home/index

其中两个家庭控制器都是单独的控制器,名称部分将非常,但所有必须转到同一个控制器,名称应该是那里所有动作的参数。

这一切都可能吗?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

这可能不是您正在寻找的答案,但我认为更常见的是

www.domain.com/home/index
www.domain.com/home/index/name

我最初的想法是,重载的Index操作方法是有意义的,但是Daniel指出这是不允许的(至少不是我建议的方式)。

更新了答案......

您的Index操作方法可以采用string name参数,您的路线需要包含类似

的内容
routes.MapRoute(
    "Default",
    "{controller}/{action}/{name}",
    new { controller = "Home", action = "Index", name = "" }

在您的操作方法中,快速null检查会告诉您网址中是否包含name