Возможно ли "пакетное" генерирование представлений в ASP. NET MVC веб-приложении C#? - PullRequest
0 голосов
/ 04 февраля 2020

По сути, у меня есть C# MVC веб-приложение с контроллерами, которые содержат такие методы:

public ActionResult A (filters)

public ActionResult B (filters)

public ActionResult C (filters)

Каждый из них принимает фильтры, заполняет список в модели, используя данные ( SQL из хранимой процедуры) и создает представление (с использованием DataTables). Насколько пользователь видит, они нажимают кнопку (A, B, C, et c.), Выбирают желаемые фильтры, нажимают «enter», и этот процесс запускается, генерируя представление (которое в основном представляет собой отчет). Пользователь может многократно go проходить через этот процесс, и каждое из этих представлений / отчетов генерируется над другими на странице (они могут прокручиваться вверх и вниз). То, что я хочу сделать, это иметь другую кнопку -> страницу фильтра, где они выбирают только «пакет» из этих отчетов, которые они хотят сгенерировать. Поэтому, если пользователь выбирает опцию «Пакет 1», он генерирует отчет A (с определенными мной фильтрами), затем генерирует отчет B (предварительно определенные фильтры), а затем генерирует отчет C (предварительно определенные фильтры), в идеале без каких-либо дополнительных входных данных. от пользователя.

Изначально я надеялся получить некий «Суперконтроллер», который будет вызывать ActionResult A, который будет проходить через его процесс и генерировать представление. Затем, вместо завершения, он вернется обратно к этому «Суперконтроллеру», где затем вызовет ActionResult B и запустит процесс, генерирующий представление, и т. Д. c. Однако теперь мне интересно, возможно ли это даже в MVC. Я чувствую, что что-то в этом роде, если это наиболее «логичное» решение, но не похоже, что Controller позволит вам реализовать что-то подобное (по крайней мере, способами, которые я пробовал). Я также пытался реализовать Задачи, но единственное, что мне удалось сделать, это создать 1 огромный вид / отчет, который не будет работать для того, что мне нужно (то есть для генерации множества отдельных представлений, каждое из которых содержит возможность экспорта в PDF и т. д. c. через DataTables). Если бы кто-нибудь мог указать мне на какое-то решение / идеи, чтобы сделать это, это было бы очень признательно. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

1 Ответ

0 голосов
/ 04 февраля 2020

Вы должны видеть действия от контроллеров как точки входа для ваших запросов http. Итак, каждый запрос привязан к одному действию, поэтому это не должно быть возможным, и вам не следует думать о том, чтобы делать это таким образом.

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

...