На мой взгляд, вам понадобится 1 единственный .ASCX для вашего модуля DNN, но вам понадобятся три панели внутри, по одной на каждый шаг.Я бы назвал панели Panel_Step1, Panel_Step2 и Panel_Step3.Шаги 2 и 3 будут изначально скрыты.
Каждая панель будет содержать все элементы управления и графику для соответствующего шага в мастере.
Итак, когда пользователь нажимает кнопку «Следующий шаг», чтобы перейти от шага 1 к шагу 2, ваш код скроет Panel_Step1 и покажет Panel_Step2.Вам понадобится функция инициализации Panel_Step2.Давайте назовем его InitStep2 ().
Внутри этой функции InitStep2 () вы сможете анализировать значения и выборки, сделанные пользователем на шаге 1, путем анализа направления контрольных значений.
Пример: Textbox_Step1_Name.text, DropDown_Step1_State.SelectedValue и т. Д.
Эти значения действительно хранятся в состоянии просмотра.
Выполнение мастера таким образом на самом деле не отличается отделать это с помощью .ASCX за пределами DNN.У вас есть доступ к состоянию просмотра, сеансу и т. Д.