Отсутствие определенных @helpers в Views ASP.net MVC3 - PullRequest
0 голосов
/ 30 марта 2012

У меня чрезмерно странная проблема.

Я работаю над проектом, и он конвертируется для использования asp.net MVC.

Все работает контроллеры / модели / представления,Я получаю все возможные ключевые слова в контроллере (ViewBag, ViewContext и т. Д.).

Однако в моих представлениях я получаю только некоторых помощников (например, @Model, @Html), но я скучаю по другим (@model, @ViewBag, @ViewContext и т. д.)

Это огромная помеха (я бы отправил код, но я не знаю, какой код на самом деле актуален).Мой web.config на 100% мертв, и все другие мои проекты MVC не имеют этой проблемы.

  • Web.Config правильный (в папке Views)
  • Targetфреймворк правильный
  • У меня есть доступ ко всем методам в моих контроллерах

Я очистил проект / переопределил его и т. д. Другие на других машинах не имеютэта проблема, но странно, я делаю (я полностью повторно проверил проект).

Как я уже сказал, я не знаю, какой код важен, я просто надеюсь, что у кого-то есть представление о том, что может быть не так.Я сбит с толку, так как web.config прав, я не пропускаю никаких ссылок (все мои ссылки указывают на правильное местоположение), и я могу использовать их все в контроллере.

Просто потому, чтоЯ не хочу, чтобы на меня кричали, вот выдержка из моего web.config в папке Views / 10 *

<configuration>
  <configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
  </configSections>

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

Одна из самых странных проблем, с которыми я когда-либо сталкивался: O

Пример:

@model Project.WebUI.Models.MyModel

@{
    ViewBag.title = "hi";
}

<div>@Model.someItemInTheModel</div>

модель подчеркнута красным цветом 'не существует в текущем контексте'

@model Project.WebUI.Models.MyModel

ViewBag красного цветаподчеркнуто «не существует в текущем контексте»

ViewBag.title = "hi";

Эта строка прекрасно работает

<div>@Model.someItemInTheModel</div>

Контроллер, это все отличноштраф

public ActionResult MyView(long date)
{
   MyModel model = new MyModel();
   model.someItemInTheModel = "hi";
   return PartialView(model);
}

1 Ответ

0 голосов
/ 30 марта 2012

Создайте новый проект MVC3 и сравните эти файлы web.config с файлами в вашем проекте. Вам понадобится проверить в корне проекта (/web.config) и в /Views/web.config.

Также убедитесь, что у вас есть все одинаковые System.Web.* ссылки.

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