Как заставить ASP.NET Mvc и Web Forms работать вместе - PullRequest
0 голосов
/ 12 марта 2009

Извините, если об этом уже спрашивали.

В настоящее время я работаю над небольшой функцией и пытаюсь внедрить среду ASP.NET Mvc в мое текущее веб-приложение Web Forms. Я следил за документом Professional ASP.NET 3.5 Mvc Chapter 13 pdf, который недавно обнаружил в стеке переполнение , чтобы заставить Web Forms и Mvc работать вместе. Я выполнил все три шага:

  1. Добавлены ссылки на библиотеки System.Web.Mvc, System.Web.Routing и System.Web.Abstractions

  2. Добавлены две директории в мое веб-приложение: контроллеры и представления

  3. Обновлен файл web.config для загрузки трех сборок, упомянутых на первом шаге, и зарегистрирован HttpModule для UrlRoutingModule. Я также добавил начальные настройки маршрутизации в свой файл Global.asax

    RouteTable.Routes.MapRoute ( "По умолчанию", "{controller} / {action} / {id}", new {controller = "Support", action = "Index", id = ""} );

Как только я пытаюсь запустить мою вновь созданную страницу, следуя ASP.NET Mvc Framework, я получаю исключение NullReferenceException для следующего фрагмента кода:

<%= Html.Encode(ViewData["Message"]) %>

В моем контроллере ViewData ["Message"] установлено значение "Message!" просто как тест. Я что-то пропустил, настраивая веб-приложение для работы с ASP.NET Mvc?

Любая помощь будет принята с благодарностью.

Спасибо

1 Ответ

0 голосов
/ 12 марта 2009

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

Я обнаружил, что могу получить "устаревшие веб-формы ASP.NET", которые отлично работают с MVC. Единственный плюс ко всему проекту - перенаправить приложение на мой default.aspx для начала. Гораздо проще, чем выполнить несколько шагов, чтобы включить MVC.

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

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