MVC3动作方法参数最后用点字符表示

时间:2012-04-04 13:55:14

标签: asp.net-mvc-3 asp.net-mvc-routing

我的申请中有一个有趣的问题。

我的动作方法接收字符串参数。它适用于所有情况,除非此字符串中的最后一个字符是点字符。 IIS显示HTTP 404错误,因为无法找到此情况的路由(我想是这样)。

我的方法收到音乐乐队的名字。 例如。

  1. http://mywebsite/artist/The-Strokes工作正常
  2. http://mywebsite/artist/R.I.O。如上所述,它失败了。
  3. 此控制器的路线描述为:

    routes.MapRoute(“”,“artist / {artist}”,new {controller =“Artists”,action =“Name”,artist =(string)null});

    这是什么原因以及如何解决?

    非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以考虑在路线规则中使用{* catchall},然后在行动中处理参数

"artist/{*artist}"

或者您可以尝试将this article作为另一种(可能更好的方法)