首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET博客路由-Example.com/ MVC3 /projects到example.com/projects

ASP.NET博客路由-Example.com/ MVC3 /projects到example.com/projects
EN

Stack Overflow用户
提问于 2011-12-17 23:54:03
回答 2查看 102关注 0票数 1

我的博客控制器中有一个名为ProjectsActionResult,它返回所有的项目,但我的URL看起来像example.com/blog/projects,我想设置路由使它看起来像example.com/projects

有可能吗?如果是,那么我如何才能做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-17 23:59:42

您必须按照Global.asax的方式注册路由,并将其作为第一条路由

代码语言:javascript
复制
routes.MapRoute("Projects", "Projects" , new { controller="blog" , action="Projects" });
票数 2
EN

Stack Overflow用户

发布于 2011-12-18 00:01:54

您可以将路由添加到Global.asax.cs文件,例如:

代码语言:javascript
复制
routes.MapRoute(
    "Projects", // Route name
    "Projects/{id}", // URL with parameters
    new { controller = "Blog", action = "Projects", id = UrlParameter.Optional } // Parameter defaults
);

所以它看起来像这样:

代码语言:javascript
复制
public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        "Projects", // Route name
        "Projects/{id}", // URL with parameters
        new { controller = "Blog", action = "Projects", id = UrlParameter.Optional } // Parameter defaults
    );

    routes.MapRoute(
        "Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters
        new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
    );

}

确保您的新路由高于默认路由,否则您的路由将永远不会被击中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8545891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档