Блоки кодирования HTML - недопустимый термин выражения ':' - PullRequest
8 голосов
/ 07 мая 2010

Я занимаюсь разработкой нового приложения ASP.NET MVC 2.0 и хочу использовать новые блоки кодирования ASP.NET 4.

Код My View содержит <%: Model.ActivityName %>, однако Visual Studio сообщает:

Неожиданный токен

в положении : (двоеточие). Когда я запускаю приложение, я получаю следующую ошибку компиляции:

Сообщение об ошибке компилятора: CS1525: недопустимый термин выражения ':'

Чего мне не хватает?

Приветствует любую помощь / совет.

Ответы [ 3 ]

13 голосов
/ 07 мая 2010

Эта функция является новой для ASP.Net 4.0, которая, в свою очередь, является новой для Visual Studio 2010.

В более ранних версиях вы должны написать

<%= Html.Encode(Model.ActivityName) %>
5 голосов
/ 08 мая 2010

Похоже, целевая платформа не установлена ​​на .NET Framework 4.0.

Для этого в обозревателе решений щелкните правой кнопкой мыши корневой каталог проекта и выберите свойства в контекстном меню.

На вкладке приложения вы должны увидеть раскрывающийся список Target Framework.Измените это на .NET Framework 4.0.

Попробуйте и скомпилируйте, чтобы увидеть, исчезнет ли ошибка.

1 голос
/ 07 мая 2010

, как уже было указано, вам нужно использовать правильную версию VS. если вы не можете, и вам нужно изменить весь код, чтобы использовать Html.Encode метод Фил Хаак написал статью о том, как сделать обратное , что может быть полезно.

Не то чтобы я его связал, но обратный поиск и замена в VS должен быть что-то вроде

\<\%:b*{[^%]*}:b*\%\>

заменено на

<%:= Html.Encode\( \1 \) %>

или что-то похожее на это. Как я уже сказал, у меня нет IDE на данный момент для тестирования, поэтому попробуйте, прежде чем запускать его над всем вашим проектом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...