MVC 操作作为不带控制器的单一路由
本文关键字:控制器 单一 路由 操作 作作 MVC | 更新日期: 2023-09-27 18:37:07
我有一些控制器,我只想将操作显示为路由。首先,我得到Home/Start
.我只喜欢展示/Start
.对于Contact
也是如此。它只能通过路由配置进行更改还是有属性?
public class HomeController : Controller
{
public ActionResult Start()
{
return View();
}
public ActionResult Contact()
{
return View();
}
public ActionResult Impress()
{
return View();
}
}
路由
配置是执行此操作的唯一方法,方法如下
首先,定义所有非主控制器路由,如下所示:
routes.MapRoute(
"Account", // Route name
"Account/{action}/{id}", // URL with parameters
new { controller = "Account", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Admin", // Route name
"Admin/{action}/{id}", // URL with parameters
new { controller = "Admin", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
然后在所有这些之后,定义默认路由,如下所示:
routes.MapRoute(
"Default", // Route name
"{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
使用 AttributeRouting。
您只需要在操作之前放置一个带有操作名称的属性:
[HttpGet]
[Route("Get")]
public ViewAction Get(long id)
{
return;
}