跳过控制器和动作名称 mvc

skipping controller and action names mvc

我正在使用 ASP.NET MVC

开发一个项目

im using ASP.NET Web Application with MVC enabled

我有一个包含默认索引操作的主控制器,有一个我可以像这样访问的东西列表

site.com/?parameter=test1

但我希望能够像这样访问列表

site.com/test1

其中 test1 是参数,用作搜索参数。

我已经尝试了下面的例子,但是 none 成功了

 routes.MapRoute(
            name: "Default",
            url: "/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

还有这个

   routes.MapRoute(
            name: "Default",
            url: "{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

尝试在操作上方使用 [Route] 属性,并在启动时保留默认值。

[Route("/{id?}"]
public IActionResult Index(string id)
{
  return View();
}

以下网络框架使用

    public ActionResult Index(string id)
    {
        return View();
    }

RouteConfig.cs

    routes.MapRoute(
   name: "Default",
   url: "{id}",
   defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
                );