2013-03-11 175 views
0

我在我的MVC Web应用程序中定义了MVC控制器。我在控制器中定义了5个不同的动作名称。所有的行动都在做不同的事情。ASP.Net MVC控制器

我想要做的是在global.asax中定义一个常见的MVC路由,而不是5个不同的MVC路由。我在global.asax文件中定义了一条这样的路线。

routes.MapRoute(
      "Action1/1", // Route name 
      "xyz/check-data1", // URL with parameters 
      new { controller = "CheckDate", action = "Check1" } // Parameter defaults 
     ); 

我需要5条不同的路线,因为这5条不同的路线将在我的网页中被称为5个超链接。

我不想复制和粘贴上面的路线,并创建5个不同的路线。 例如我可以像下面这样定义一条路线。

routes.MapRoute(
      "Action2/2", // Route name 
      "xyz/check-data2", // URL with parameters 
      new { controller = "CheckDate", action = "Check2" } // Parameter defaults 
     ); 

请在此建议我。

回答

2

的典型模式是,以规范自己的行为,使他们能够与默认路由的工作:

/{Controller}/{Action}/{id?} 

如果你不打算使用标准动作,那么你别无选择,只能到指定的路线单独和手动。

但是,有一个名为AttributeRouting的nuget软件包,可让您使用属性在操作本身上指定路由。如果你要处理很多自定义路线,这通常更容易,更流畅。