【问题标题】:How can I get a URL to work, if the controller or action name and the URL cannot be the same?如果控制器或操作名称与 URL 不能相同,如何使 URL 正常工作?
【发布时间】:2011-05-01 03:49:52
【问题描述】:

如果 URL 是 http://example.com/apple-orange,则控制器或操作应命名为 AppleOrange,因为按照惯例,控制器或操作名称是 C# 或 VB 函数;所以不能有破折号吧?

所以我必须在默认的通用路由之上添加一条路由:

routes.MapRoute("AO","apple-orange", new { controller = "Home", action = "AppleOrange", id = UrlParameter.Optional });

现在,通过这个,我需要为每个名称带有破折号的 URL 进行路由映射,或者由于某种原因不能与控制器或操作名称相同的字符串。

这是真的吗?是否有另一种方法可以做到这一点,而无需为每个 URL 单独映射?

【问题讨论】:

    标签: asp.net-mvc-2 routes


    【解决方案1】:

    您可以尝试使用ActionName 属性:

    [ActionName("apple-orange")]
    public ActionResult AppleOrange()
    {
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-03
      • 1970-01-01
      • 2015-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-23
      • 2020-08-14
      相关资源
      最近更新 更多