что произойдет при использовании более одного тега формы в веб-приложении?
Вы можете использовать столько элементов <form>
на странице, сколько пожелаете (хотя их нельзя вложенный). Но, как вы заметили, вы можете иметь только один элемент <form runat="server">
в каждом составном Page
экземпляре (то есть макет управления для всех составных .master
страниц вокруг текущей .aspx
страницы и любых дочерних Control
или .ascx
экземпляров UserControl).
Это связано с тем, что ASP. NET WebForms построены на предположении, что действие каждого пользователя ( нажатие кнопки, изменение выбора <select>
, нажатие радиокнопки и т. д. c) вызовут «обратную передачу всей страницы», которая перезагрузит всю страницу в ответе POST
, который (в сочетании с * 1020) *) принесет в Интернет модель, аналогичную настольным формам VB6.
... но это было в 2001 году, когда была выпущена ASP. NET WebForms, и с тех пор все поняли, что Модель «обратной передачи» в WebForms была огромной ошибкой и буквально сломала сеть (потому что она сломала кнопку «назад», она сломала кнопку refre sh, она нарушила семантику методов HTTP и превратила бы сеть из масштабируемый и превратили систему без сохранения состояния в ужасную систему с сохранением состояния, не имеющую реальных преимуществ ни для кого, кроме немного меньшей начальной кривой обучения для части разработчиков программного обеспечения, которые никогда не покидали свою зону комфорта Visual Basi c ).
Вкратце: прекратите использовать ASP. NET веб-форм и перейдите на ASP. NET MVC, как только сможете.