Синтаксис бритвы ASP.NET MVC 3 - литье

Итак, простой вопрос. :)

У меня был следующий код с ASPX View Engine :

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

Что делает Лос-Анджелес

Если я сделаю это с помощью Razor View Engine:

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

Он делает это:

(действительно огромное имя объекта должно быть .ToString) .Name

Таким образом, подсветка отключается в Location) , и она обрабатывает код .Name, который у меня есть (который является свойством объекта City ), как чистый HTML.

Почему он считает, что ) в качестве конца блока кода Razor?

Есть идеи?

Также - есть ссылка Razor, которая имеет все синтаксис / ключевые слова? (мне потребовалось некоторое время, чтобы понять, что <% Import Namespace @using с Razor).

Спасибо, парни!

Всего 2 ответа


<strong>@(((City)Model.Location).Name)</strong> ли <strong>@(((City)Model.Location).Name)</strong> ? Я думаю, что думает, что выражение, содержащееся в @() , закрыто.


Кроме того, для более легкого чтения ...

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

Есть идеи?

10000