Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在路由属性中添加默认操作_C#_Asp.net Mvc_Asp.net Core - Fatal编程技术网

C# 在路由属性中添加默认操作

C# 在路由属性中添加默认操作,c#,asp.net-mvc,asp.net-core,C#,Asp.net Mvc,Asp.net Core,如何使用路由属性设置默认操作 [Route("cars/[action]")] public class CarsRegistrationController : Controller { public IActionResult Index() { ... } } cars/index工作,但如果我转到/cars(不输入操作名称),我希望它重定向到默认操作索引/cars/index 我尝试将路由修改为:不走运,如何修复语法 [Route("cars/{action=index

如何使用路由属性设置默认操作

[Route("cars/[action]")]
public class CarsRegistrationController : Controller
{
    public IActionResult Index()
    { ... }
}
cars/index工作,但如果我转到/cars(不输入操作名称),我希望它重定向到默认操作索引/cars/index

我尝试将路由修改为:不走运,如何修复语法

[Route("cars/{action=index}")]
[Route("cars/[action:index]")]

正如您在ASP.NET Core()的文档中所读到的,在控制器上放置路由意味着它将在其操作上与路由相结合

[Route("[cars]")]
public class CarsRegistrationController : Controller
{
   [Route("~/cars")]   // Matches "~/cars"
   [Route("")]         // Matches "~/cars/Index"
   public IActionResult Index() => View();
}

正如您在ASP.NET Core()的文档中所读到的,在控制器上放置路由意味着它将在其操作上与路由相结合

[Route("[cars]")]
public class CarsRegistrationController : Controller
{
   [Route("~/cars")]   // Matches "~/cars"
   [Route("")]         // Matches "~/cars/Index"
   public IActionResult Index() => View();
}

当使用
[路线(“cars/{action=index}”)]
时,您有什么问题?这似乎对我有效。@KirkLarkin I get error:error:属性route“cars/{action=index}”不能包含名为“{action}”的参数。在路由模板中使用“[action]”插入值“Index”。我还尝试了[Route(“cars/[action=index]”)错误:在处理模板“cars/[action=index]”时,找不到标记“action=index”的替换值使用
[Route(“cars/{action=index}])]
时出现了什么问题?这似乎对我有效。@KirkLarkin I get error:error:属性route“cars/{action=index}”不能包含名为“{action}”的参数。在路由模板中使用“[action]”插入值“Index”。我还尝试了[Route(“cars/[action=index]”)错误:在处理模板“cars/[action=index]”时,找不到标记“action=index”的替换值请注意,我的控制器名称是“CarsRegistrationController”,但我要使用的路由是“cars”,您能修改您的答案代码使其与我的corntoller一起工作吗,code,我不能让它工作请注意,我的控制器名称是“CarsRegistrationController”,但我想使用的路线是“cars”,你能修改你的答案代码使它与我的corntoller一起工作吗,代码,我不能让它工作