Asp.Net MVC路由使用C#关键字路由

时间:2012-11-16 15:56:53

标签: c# asp.net-mvc asp.net-mvc-routing

我想创建一个使用params作为URL的一部分的路由。

我遇到的问题是当我创建默认值时,我不能将params用作保留的c#字。

想知道是否有办法解决这个问题。 (参见路由中使用params,当用作默认值时,我得到编译器错误:预期表达式)

以下是示例代码:

 routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{db}/{proc}/{params}",
            defaults: new { controller = "Data", action = "Index", db = UrlParameter.Optional, proc = UrlParameter.Optional, params = UrlParameter.Optional}
        );

1 个答案:

答案 0 :(得分:4)

正如MSDN建议的那样,你可以通过在它们前面添加@符号来使用C#关键字。 在您的情况下,请使用@params代替params

To quote MSDN

  

关键字是预定义的保留标识符,对编译器有特殊含义。它们不能用作程序中的标识符,除非它们包含@作为前缀。例如,@ if是有效的标识符,但如果不是因为if是关键字。

是否有任何特殊原因需要将此变量称为params