简体   繁体   中英

ASP.NET MVC 3 Razor Syntax - Casting

So, simple question really. :)

I had this following code with ASPX View Engine :

<strong><%: ((City)Model.Location).Name %></strong>

Which renders Los Angeles

If i do this with Razor View Engine:

<strong>@((City)Model.Location).Name</strong>
                             ^
                             |
syntax highlighting stops here

It renders this:

(really huge object name must be .ToString).Name

So, the highlighting cuts off at Location) , and it's treating the .Name code i have (which is a property on a City object) as pure HTML.

Why is it deeming the ) as the end of the Razor code block?

Any ideas?

Also - is there a Razor reference which has all the syntax/keywords? (it took me a while to figure out that <% Import Namespace is @using with Razor).

Thanks Guys!

Does <strong>@(((City)Model.Location).Name)</strong> work? I think it's thinking the expression contained within @() is closed.

此外,为了更容易阅读......

<strong>@( (Model.Location as City).Name )</strong>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM