ASP.NET был создан с настольным мышлением. Другими словами, он был создан, чтобы предоставить разработчикам настольных компьютеров платформу, похожую на настольную, для создания веб-сайтов. Чтобы поддержать эту инициативу, разработчики ASP.NET решили, что вся страница должна быть обернута в одну большую форму, и эта форма будет единственной формой на странице, чтобы все элементы управления на странице имели общий корень, отправить данные на сервер.
Если бы было разрешено несколько runat="server"
форм, то для этого потребовалось бы, чтобы разработчики ASP.NET узнали больше о HTML / HTTP, чем хотелось бы. Цель состояла в том, чтобы позволить людям использовать события нажатия кнопки и выбирать события изменения списка таким образом, чтобы это соответствовало модели WinForms. Не было никакого способа поддержать эту иллюзию, если разработчику нужно было знать, какая форма POSTing где.