.net - 如何在 ASP.NET MVC 中创建以数字开头的操作名称?

标签 .net asp.net-mvc asp.net-mvc-2

我想将我的 ASP.NET MVC Controller 操作命名为 123games 但由于数字原因它不允许我这样做。

我需要使用ActionNameAttribute吗?

最佳答案

是的,你知道。 C# language specification禁止以数字开头的标识符,如 section 2.4.2, "Identifiers" :

identifier-start-character:

  • letter-character
  • _ (the underscore character U+005F)

请注意缺少任何数值。

也就是说,您可以使用 ActionNameAttribute拥有一个带有以数字开头的操作的路由(因为 URL 没有这样的限制),如下所示:

[ActionName("123games")]
public ActionResult _123Games()
{
     // Action code.
}

请注意,使用下划线对于标识符的第一个字符有效(根据上面所示的同一部分,特别是下面,强调我的):

The rules for identifiers given in this section correspond exactly to those recommended by the Unicode Standard Annex 15, except that underscore is allowed as an initial character (as is traditional in the C programming language)...

因此,我使用它作为方法名称的开头(即 _123Games),以使其在 C# 代码中与 URL 片段保持紧密一致。

关于.net - 如何在 ASP.NET MVC 中创建以数字开头的操作名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14523866/

相关文章:

asp.net-mvc-2 - 在 MVC2 中,如何验证不在我的数据模型中的字段?

c# - 为什么结构中的迭代器可以修改这个?

.net - 应用样式时的异常

asp.net-mvc - 如何抑制 header 变化 :* when using OutputCacheProfiles

c# - 如何像 jquery/ajax 函数一样创建堆栈溢出后投票?

asp.net-mvc - ASP.NET MVC 主题最佳实践?

c# - 为我解释 maxstack 指令

.net - 多个相似的 linq 查询

html - 如何将html保存到数据库字段

asp.net-mvc - 手动创建参数ReturnUrl