【问题标题】:Set simple URL route for Area in ASP MVC, without RoutArea在 ASP MVC 中为 Area 设置简单的 URL 路由,没有 RoutArea
【发布时间】:2017-05-17 05:46:15
【问题描述】:

我有一个名为 Admin 的区域。我已经将routes.MapMvcAttributeRoutes(); 添加到我的RouteConfig.cs。 我想要这样的 URL:/admin 而不是 /Admin/Products/Create 大多数答案是指添加 RouteAreaRoutePrefix

[RouteArea("Admin")]
[RoutePrefix("add")]
 public class ProductsController : Controller
    {
    [Route("Create")]
    public ActionResult Create()

它会再次引导我们访问这样的 URL:/Admin/add/Create 这不是我要找的。 我想保持 URL 简单; /admin

【问题讨论】:

    标签: c# asp.net asp.net-mvc url-routing


    【解决方案1】:

    你可以像这样使用~/admin

     [Route("~/admin")]
     public ActionResult Create()
    

    所以当你输入 URL /admin 时,它会带你到 /Admin/Products/Create

    或者您可以将Route("") 设置为空字符串,这也将带您到/admin

    [RouteArea("Admin")]
    public class ProductsController : Controller
    {
        [Route("")]
        public ActionResult Create()
    

    【讨论】:

    • 感谢您的回答,第二种方式工作正常,但第一种方式重定向到未找到页面;)
    • @SharifYazdian 你可以接受我的回答 :) 顺便说一句,我已经测试过并且都有效
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    相关资源
    最近更新 更多