0

我在我的 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
       );

请就此向我提出建议。

4

1 回答 1

2

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

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

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

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

于 2013-03-11T20:41:36.557 回答