Razor @helper в App_Code недоступен - PullRequest
       57

Razor @helper в App_Code недоступен

7 голосов
/ 20 октября 2011

В моем App_code есть вспомогательная функция с именем FormatTelephone(string number) в Formatter.cshtml.Я попытался получить доступ к нему в частичном представлении @Formatter.FormatTelephone(number).Когда я проверяю его, он говорит:

Сообщение об ошибке компилятора: CS0103: имя «Formatter» не существует в текущем контексте

Какова вероятная причина?Спасибо!

Ответы [ 2 ]

7 голосов
/ 28 ноября 2012

Я столкнулся с этой проблемой при развертывании сайта на другом сервере. Убедитесь, что файл App_Code / Formatter.cshtml фактически скопирован на сервер! Моя ошибка заключалась в том, что у файла есть действие по сборке, которое было установлено на ' Нет '. Щелкните правой кнопкой мыши файл и выберите «Свойства», а затем установите для параметра «Действие при сборке» значение « Содержимое ».

Примечание:

Если у вас не установлен asp.net mvc 3/4, убедитесь, что в папке bin находятся следующие dll.

  • System.Web.Mvc
  • Microsoft.Web.Infrastructure
  • System.Web.Razor
  • System.Web.WebPages
  • System.Web.WebPages.Razor

Скотт Хансельман имеет пост в блоге о том, что может быть причиной вашей проблемы. BIN Развертывание ASP.NET MVC 3 с Razor на Windows Server без установленного MVC

1 голос
/ 20 октября 2011

У меня работает ~/App_Code/Formatter.cshtml:

@helper FormatTelephone(string number)
{
    <div>Formatted @number</div>
}

, а затем в некотором представлении:

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