Я пытался найти решение своей проблемы в течение 2 дней, и я действительно застрял. Вот проблема:Calling Controller from aspx page
У меня есть приложение MVC (с инъекцией зависимостей и работы) только с одной веб-формой. Эта страница должна быть веб-формой, потому что в ней есть ReportViewer, и, пожалуйста, исправьте меня, если я ошибаюсь, но MVC View несовместим с серверными элементами управления, такими как ReportViewer. Это навигационный поток страниц:
- Главная страница Переход на страницу ReportList
- ReportList страница отображает сообщения о том, что пользователь имеет возможность просматривать и осуществляет переход на страницу отчета и передает ему идентификатор сообщите, что пользователь выбрал.
- Страница отчета должна искать ReportPath и ServerUrl из базы данных на основе идентификатора, переданного со страницы ReportList, в то же время авторизуя пользователя, разрешения которого хранятся в базе данных.
Я могу потенциально передать ReportPath и ServerUrl как часть строки запроса, так что страница отчета (aspx, не управляемая контроллером) не должна идти в базу данных для получения этих значений. Однако проблема заключается в том, как проверить, разрешено ли пользователю просматривать отчет (кто-то может просто использовать ссылку для просмотра отчета).
Я попытался подключить его к модели MVC и унаследовал страницу из класса ViewPage. Проблема в том, что страница по какой-то причине перезагружалась. Я все еще хочу, чтобы моя страница делала как можно меньше, и контроллер обрабатывал вызовы атрибута авторизации и бизнес-уровня. Поэтому, в крайнем случае, я хочу вызвать контроллер с страницы aspx, но я не могу создать объект из него, потому что это инъекция зависимостей.
Может кто-нибудь прокомментировать это? У меня есть весь доступный код, но я не знаю, что делать.