Вы должны рассмотреть это как любое другое приложение веб-форм.
Итак, не обязательно пытаться обрабатывать ваши постбэки в событии Page_Load.
Допустим, у вас есть форма поиска и форма подписки на рассылку. Кнопка «Отправить» от каждого будет вызывать обратную передачу на той же странице. Вы можете прикрепить событие к этим кнопкам, чтобы перехватить отправку формы и обработать функциональность отправки в этой точке, а не в Page_Load.
Я обычно разделяю все свои мини-формы на отдельные пользовательские элементы управления с кодом, который имеет btnSubmit_OnClick(object sender, EventArgs e)
, где я запускаю всю свою логику.
Также необходимо убедиться, что в каждой коллекции полей используется уникальное значение атрибута ValidationGroup
, чтобы при отправке одной формы не запускалась проверка другой формы.
Преимущество этого состоит в том, что вы можете затем создать библиотеку пользовательских элементов управления для различных функций, которые затем будут независимы друг от друга. Я часто нахожу, что могу просто поднять их и повторно использовать из одного проекта Umbraco в другой.