我想创建一个使用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}
);
答案 0 :(得分:4)
正如MSDN建议的那样,你可以通过在它们前面添加@符号来使用C#关键字。
在您的情况下,请使用@params
代替params
。
关键字是预定义的保留标识符,对编译器有特殊含义。它们不能用作程序中的标识符,除非它们包含@作为前缀。例如,@ if是有效的标识符,但如果不是因为if是关键字。
是否有任何特殊原因需要将此变量称为params
?