ASP.Net MVC控制器

时间:2013-03-11 19:25:35

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

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

我想要做的是在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
       );

请在此建议我。

1 个答案:

答案 0 :(得分:2)

典型的模式是标准化您的操作,以便它们可以使用默认路径:

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

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

但是,有一个名为AttributeRouting的nuget包,允许您使用属性指定操作本身的路由。如果您打算处理大量自定义路线,这通常会更容易,更流畅。