要为带有两个参数的操作配置路由,可以使用属性路由或者传统路由方式。下面分别给出这两种方式的代码示例。
// 在控制器的类上添加 [RoutePrefix] 属性
[RoutePrefix("mycontroller")]
public class MyController : Controller
{
// 使用 [Route] 属性为操作配置路由
[Route("action/{param1}/{param2}")]
public ActionResult MyAction(string param1, int param2)
{
// 执行操作逻辑
return View();
}
}
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
// 使用 MapRoute 方法配置路由
routes.MapRoute(
name: "MyAction",
url: "mycontroller/action/{param1}/{param2}",
defaults: new { controller = "MyController", action = "MyAction" }
);
}
}
public class MyController : Controller
{
public ActionResult MyAction(string param1, int param2)
{
// 执行操作逻辑
return View();
}
}
以上两种方式都可以为带有两个参数的操作配置路由。使用属性路由方式需要在控制器类上添加 [RoutePrefix] 属性,并在操作方法上添加 [Route] 属性。使用传统路由方式需要在 RouteConfig 类的 RegisterRoutes 方法中使用 MapRoute 方法配置路由。