ASP.NET MVC 3 Razor Синтаксис - Приведение - PullRequest
24 голосов
/ 11 ноября 2010

Итак, простой вопрос на самом деле. :)

У меня был следующий код с 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 ]

46 голосов
/ 11 ноября 2010

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

11 голосов
/ 19 июля 2011

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

<strong>@( (Model.Location as City).Name )</strong>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...