ASP.NET MVC - Как создать строго типизированное представление из классов в указанной библиотеке классов? - PullRequest
5 голосов
/ 12 мая 2009

Я пытаюсь создать строго типизированное представление с помощью Visual Studio 2008. Я могу щелкнуть правой кнопкой мыши действие контроллера и выбрать: Добавить представление ... В следующем диалоговом окне есть опция «Создать строго типизированный». Посмотреть'. Если я выберу эту опцию, я могу выбрать список классов, которые есть в моем текущем проекте.

Однако я не могу выбрать нужный мне класс, который находится в библиотеке классов, на которую я ссылался.

  • Библиотека классов - это строго типизированная сборка, которая загружается в GAC.
  • Очевидно, что библиотека указана в проекте.
  • Я добавил в web.config
  • Я несколько раз перестраивался и перезапускал VS
  • У библиотеки классов нет проблем ...

Есть предложения?

Ответы [ 5 ]

7 голосов
/ 29 января 2010

Это, конечно, поздно для ответа на этот вопрос, но для будущих читателей:

я заметил, что очень часто мне приходится строить-> чистое решение, а затем строить-> перестраивать решение, и классы волшебным образом появляются (как и должно быть)

3 голосов
/ 12 мая 2009

Просто создайте свой вид с любым из классов модели, затем вручную отредактируйте ASPX и замените класс модели тем, который вам нужен. Возможно, диалоговое окно просто недостаточно разумно.

Но, по моему личному мнению, использование "внешних" классов в качестве ваших моделей очень неправильно.

Все модели, виды и контроллеры должны быть здесь, прямо в вашем проекте. Затем они могут использовать все, что им нужно, где бы они ни находились.

1 голос
/ 08 февраля 2011

Это было опубликовано давным-давно, но моё решение может кому-то помочь ....

У меня просто была такая же проблема, и я обнаружил, что если бы у меня был «Controller» как часть имени класса - у меня был «DoorController» - я не мог бы добавить его через строго типизированный выбор вида. Это также вызвало у меня другие проблемы в asp mvc.

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

0 голосов
/ 21 августа 2009

Я могу вручную ввести имя класса в том числе пространства имен, однако вид раскрывающийся список содержимого отключен ... - Ропстах 12 мая в 13: 31

У меня та же проблема с моими пользовательскими классами данных. Они отображаются в раскрывающемся меню «Просмотр класса данных», но раскрывающийся список «Просмотр содержимого» отключен. Я предполагаю, что мои классы должны реализовать некоторый интерфейс. Я просто не уверен, какой именно.

0 голосов
/ 12 мая 2009

Я не уверен, отображаются ли мои собственные классы в списке или нет - я обычно просто печатаю их (начиная с корневого пространства имен) Что произойдет, если вы попытаетесь ввести, например, MyRootNamespace.MyClassLibrary.MyNamespace.AnotherNamespace.TheClass в текстовое поле и нажать OK?

...