ASP.NET MVC路由:清洁的url - 从骆驼情况下连字符的单词(ASP.NET MVC R

2019-09-25 17:38发布

目前,我有我的控制器中定义的操作:

    // GET: /schools/:cleanUrlName/data-loggers
    public ActionResult DataLoggers(string cleanUrlName)
    {
        return View();
    }

这工作时,我打“/学校/布里斯班状态,高中/数据记录器”,然而 - 按照注释 - 我想(用连字符)通过一个稍微干净的URL来访问它:“/学校/布里斯班的国有高中/数据记录器”。 我知道我可以写做到这一点的路线,但我希望我就不会去写每多措辞动作/控制器的新路线。 有没有更好的办法来解决这个问题?

Answer 1:

您可以使用ActionNameAttribute为您创造动作名称的别名。

所以,你只需要批注您的多措辞的行动:

[ActionName("data-loggers")]
public ActionResult DataLoggers(string cleanUrlName)
{
    return View("DataLoggers");
}

但由于这因此也影响到视图发现你需要返回View("DataLoggers")所以你很可能与你的措辞多操作创建定制路由更好。



文章来源: ASP.NET MVC Routing: Clean Urls - from camel case to hyphenated words