Ответ 1
Он был переименован в "ViewBag". Вы можете узнать больше об изменениях с RC1 → RC2 здесь
Я только что обновил ASP.NET MVC 3 RC2.
Образцовое приложение, над которым я сейчас работаю, вызывает следующую ошибку при каждом представлении cshtml:
CS0103: имя "Вид" не существует в текущем контексте
Это не работает на линии:
@{
View.Title = "MyView";
}
... и сбой в другом месте, он встречает View в коде в файле Razor.
Я скопировал web.config из новой папки Просмотр приложений в свое примерное приложение, но проблема не устранена.
Новое приложение работает без проблем.
Я также перестроил решение, запустил Clean Solution. Нет радости.
Я не работал над образцом в течение нескольких дней. Так что это может быть проблема, которая не имеет ничего общего с RC2...
Он был переименован в "ViewBag". Вы можете узнать больше об изменениях с RC1 → RC2 здесь
У меня была такая же проблема, но я просто попытался угадать, что использовать сейчас, в итоге я использовал:
@Page.Title = "The title"
и это сработало, хотя я не уверен, что сейчас является "лучшей практикой"
Кроме того, я думал, что ViewBag - это то, что раньше было ViewModel, а не только View
Я добавляю это на случай, если кто-нибудь еще столкнется с этим. Другая возможная причина заключается в том, что ваш макет не найден. Я развернулся в IIS и (после комментирования строки нарушения) обнаружил, что макет не был скопирован во время развертывания в Интернете. В моем случае это произошло потому, что макет Build Action был изменен с Content на None.
EDIT: На самом деле у меня был MVC 3 RC. Выше было только другой симптом. У машины развертывания была RTM, которая выявила проблему. Как говорит Агрилли, теперь он называется ViewBag.