Вы говорите, что функциональность TreeView и GridView "перестает работать", когда <form runat="server">
находится на главной странице - но если две формы (одна в главной, одна на странице, использующая главную) не работает , то технически это не работает в любом случае.
Правильная идиома для ASP.NET 2.0+ с использованием главных страниц - разместить тег формы на главной странице. Страницы, использующие мастер, если они правильно подключены, не будут нуждаться в тегах формы - они получат тег от своего мастера. Веб-приложение, которое я только что развернул сегодня утром, работало именно так. :)
Я предполагаю, что на самой странице скрыта проблема с кодом, из-за которой TreeView и GridView не функционируют после правильной реализации тегов формы.
EDIT
Для ясности, главная страница должна иметь <form runat="server">
, все остальные необходимые элементы управления и HTML, заполнители и закрывающий тег </form>
.
На страницах, использующих мастер, вообще не может быть никаких тегов <form runat="server">
, особенно, если это не закрывающий тег </form>
.
Сделано так, проблем быть не должно.