在ASP.NET MVC中通过Slug进行路由

阿尼卡

我有一个控制器动作,如下所示:

public ActionResult Content(string slug)
{
    var content = contentRepository.GetBySlug(slug);

    return View(content);
}

我希望将此类网址发送给我的操作:

http:// localhost / slug-of-my-content

这是我的RegisterRoutes方法:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

        routes.MapRoute(
           name: "GetContent",
           url: "{slug}",
           defaults: new { controller = "Page", action = "Content", slug = "" }
           );
    }

但这不起作用,我在做什么错?

谢谢,

陈Z

1将slug路由置于默认路由之上,如果不设置,则从不执行slug路由
2 slug不能为空,如果为空,则URL为http:// localhost /,它必须为默认路由

routes.MapRoute(
name: "slug",
url: "{slug}",
defaults: new { controller = "Home", action = "show" },
constraints: new{ slug=".+"});

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

而且我认为不要选择“ Content”作为动作名称,因为在基类中有一个Content Method

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在ASP.NET MVC中进行路由,在URL中显示用户名

来自分类Dev

在ASP.Net MVC中进行路由之前的数据库选择

来自分类Dev

ASP.NET MVC中的区域路由

来自分类Dev

asp.net MVC中的angularJS路由

来自分类Dev

在ASP NET Web API中进行路由-适用于不同版本的API

来自分类Dev

ASP Net Core-如何在多个级别上进行路由继承?

来自分类Dev

ASP.net MVC路由

来自分类Dev

禁用ASP.NET MVC路由以进行网址解析

来自分类Dev

需要通过RouteConfig.cs中的ASP.NET MVC路由模式来简化URL

来自分类Dev

如何通过 Moq、ASP .NET MVC 进行模块测试

来自分类Dev

ASP.NET MVC5中的复杂路由

来自分类Dev

ASP.NET MVC中的静态文件路由

来自分类Dev

在ASP.NET MVC 5中路由可选参数

来自分类Dev

在asp.net MVC中更改路由URL

来自分类Dev

重写或更改asp.net MVC URL中的路由?

来自分类Dev

ASP.NET MVC中的动态路由操作名称

来自分类Dev

Asp.net Mvc路由。路线中的“ *”表示

来自分类Dev

在Asp.Net MVC4中路由

来自分类Dev

在asp.net mvc 4中更改路由的URL

来自分类Dev

在ASP.Net MVC 4中隐藏路由

来自分类Dev

隐藏来自ASP.NET MVC中的操作的路由值?

来自分类Dev

参数中的 ASP.NET MVC 小写路由

来自分类Dev

Asp.net mvc 5 中的路由问题

来自分类Dev

忽略 ASP.NET MVC WebAPI 中的路由参数

来自分类Dev

asp.net身份通过链接/ URL进行身份验证asp.net mvc 5

来自分类Dev

通过ASP.NET身份认证进行简单注册-ASP.NET MVC

来自分类Dev

ASP.NET Web表单中的ASP.Net路由

来自分类Dev

无法在ASP.Net MVC中的RouteConfig中的URL重写中对路由数据值进行编码

来自分类Dev

ASP.NET MVC路由与特定操作