Почему я не могу получить доступ к моей модели представления в моем пользовательском элементе управления? - PullRequest
2 голосов
/ 01 марта 2011

Я пробовал это несколькими способами:

1:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyNameSpace.MyModel>" %>

2:

<%@ Import Namespace="MyNameSpace.MyModel" %>

Но независимо от того, что я делаю, яУ меня нет доступа к this.Model или чему-либо еще, что я ожидал увидеть.Другие элементы управления и страницы в проекте могут получить к ним доступ, и ни один из разработчиков не может сказать мне, почему их могут, а мои нет.Есть идеи?

РЕДАКТИРОВАТЬ

С тех пор я создал несколько элементов управления и страниц.Иногда intellisense находит this.Model без проблем.Он также находит такие вещи, как Html.RenderPartial() и различные другие вкусности, которые он должен найти.Так что для тех из вас, кто сказал бы мне, что intellisense не работает в представлениях, вы ошибаетесь.ОНО ДЕЛАЕТ.Но это не соответствует среди всех взглядов.Насколько я и любые другие разработчики можем сказать, я не делаю ничего другого.Вещи, которые я пробовал:

  • Закрытие решения
  • Удаление папок пост-сборки
  • Повторное открытие решения
  • Перестройка, обычная или аналитическая сборка

Иногда эти шаги решают проблему, но для некоторых элементов управления я просто не могу заставить красные линии волнистости исчезнуть!Это не конец света, поскольку он не вызывает ошибок во время выполнения, но я хочу понять, что здесь происходит.Конечно, кто-то испытал это и узнал источник проблемы.

1 Ответ

3 голосов
/ 02 марта 2011

Вы также можете попробовать добавить его в web.config:

  <namespaces>
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Routing" />
    <add namespace="MyHtmlHelperLibrary.HtmlExtensions"/>
    <add namespace="MyOtherNamespace"/>
  </namespaces>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...