Проблема смешивания веб-форм в приложении ASP.NET MVC - PullRequest
4 голосов
/ 18 ноября 2008

Я пытался с идеей взять существующее приложение ASP.NET Webforms и преобразовать его в гибрид, чтобы в дальнейшем мы могли сделать ASP.NET MVC.

Для этого я создал приложение ASP.NET MVC и начал копировать некоторые папки из проектов веб-форм ASP.NET, содержащих веб-формы. У меня возникла проблема при создании результирующего проекта, получающего сотни ошибок компиляции этой формы:

Error   1951    'Documents_Admin_DocPushByTag' does not contain a definition for
'CtlCategoryList' and no extension method 'CtlCategoryList' accepting a first argument 
of type 'Documents_Admin_DocPushByTag' could be found (are you missing a using directive
or an assembly reference?)

Каждое из этих сообщений об ошибках относится к серверным элементам управления в моей разметке. Как будто разметка не разбирается? Когда я редактирую один из кодов файлов и набираю this. , чтобы увидеть, что распознает intellisense, эти элементы управления не отображаются. Обработчики событий это делают (но это должно быть потому, что они определены в коде файла). Насколько я могу судить, атрибуты CodeFile и Inherits Page являются правильными (и не изменились из проекта ASP.NET, откуда они пришли). Я озадачен, что вызывает эту проблему. Есть идеи? ТИА.

Ответы [ 2 ]

4 голосов
/ 18 ноября 2008

посмотрите, как это делает Скотт Хансельман:
http://www.hanselman.com/blog/PlugInHybridsASPNETWebFormsAndASPMVCAndASPNETDynamicDataSideBySide.aspx

По сути, вы будете использовать ignoreroute, чтобы исключить перенаправление всех ваших веб-форм в обработчик mvc

3 голосов
/ 18 ноября 2008

Я думаю, вам будет гораздо проще конвертировать, добавив сборки System.Web.Mvc в текущий проект и обновив файл web.config и global.asax.

Вы должны убедиться, что ваше текущее приложение является проектом веб-приложения (не сайта). Если он не конвертируется и убедитесь, что он компилируется первым.

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