隐藏地区使用URL AttributeRouting(Hide Area in URL using

2019-09-16 15:18发布

我们使用的区域版本写在ASP.NET MVC3与AttributeRouting来定义我们的路由信息​​的API。

现在,我们有一个“V1”地区,是我们的API的第一个版本。 当我们到了V2,我们将拷贝过来V1,并进行修改。

我想用同一版本的网站,我不想在路由/ V1。

我的问题是,我怎么藏在我的网址的区域,这样我可以调用

mywebsite.com/Users/1 

代替

mywebsite.com/v1/Users/1

以下是我在我的控制器

    [RouteArea("/")]
    public class HomeController : Controller
    {
        //
        // GET: /v1/Home/
        [GET("")]
        public ActionResult Index()
        {
            return View();
        }

    }

这里是我所得到的,当我尝试访问mywebsite.com/

提前致谢!

Answer 1:

做这个:

[RouteArea("AreaName", AreaUrl = "")]

默认情况下,区域前缀的区域名称。 该AreaUrl属性可以让你重写。 我会在这里更新维基: https://github.com/mccalltd/AttributeRouting/wiki/Areas

对困惑感到抱歉!

此外,你不应该添加在通过AR定义的任何URL的开头或结尾向前斜杠。 您的堆栈跟踪转储强调了MVC正在寻找的观点名为“/”文件夹中。 如果你想要一个空的网址,只需使用“”。



文章来源: Hide Area in URL using AttributeRouting