Razor reseverd words

2019-01-12 02:41发布

That the razor syntax is neat, there's little arguing about. But i can't seem to find it anywhere...
What are the razor reserved words?
@using
@inherits
@functions
@section
Do you know any other?

2条回答
Anthone
2楼-- · 2019-01-12 03:29

Here's a list of Razor reserved keywords (Note: This applies to cshtml, vbhtml follows VB's rules):

Razor-specific keywords

  • inherits
  • functions
  • section
  • helper
  • model (only in MVC projects)

You can escape these using @(inherits)

Language-specific Razor keywords

These are C# keywords that are understood by Razor

  • if
  • do
  • try
  • for
  • foreach
  • while
  • switch
  • lock
  • using
  • case
  • default

You can escape them using @(@lock) (first @ is used to escape the Razor parser and the second @ is used to escape the C# parser)

Reserved keywords

These are not reserved in RC but will be for RTM. Update: These will have no functionality for RTM. They are simply reserved for future use.

  • namespace
  • class
  • layout
查看更多
The star\"
3楼-- · 2019-01-12 03:32

You've got them all. The only one I know of that's in the RC is @model but I don't see that in the list of RazorKeywords from the source so I'm not sure how that one is used or parsed.

If you check the source file "CSharpCodeParser.cs" under the WebPages/System.Web.Razor project you'll find a list of RazorKeywords.

查看更多
登录 后发表回答