У меня есть страница WebForms с древовидной структурой слева и сетками справа.Когда пользователь щелкает узел дерева, соответствующая сетка заполняется с использованием SqlDataSource и затем отображается.Все это в одной UpdatePanel.
Вот мои настройки:
<asp:GridView runat="server" ID='LocationsRowGrid' AutoGenerateColumns="false" DataSourceID="SqlDataSource_LocationRow">
<Columns>
<asp:TemplateField HeaderText="Location">
<ItemTemplate>
<asp:DropDownList runat="server" ID="NAME_LCTN" OnDataBound="dropdown_DataBound"
DataTextField="NAME_TO_LCTN" DataValueField="NAME_TO_LCTN" DataSourceID="SqlDataSource_LocationNames">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Move Time (HR)">
<ItemTemplate>
<asp:TextBox runat="server" ID="STD_MOVE_TME_AMNT" Text='<%# Bind("STD_MOVE_TME_AMNT") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="LAST_UPDATED_BY" HeaderText="Updated By" Visible="true" />
<asp:BoundField DataField="LAST_REV_DT" HeaderText="Revision Date" Visible="true" />
</Columns>
</asp:GridView>
Существуют другие (более крупные) сетки, но это в основном шаблон.Самая большая сетка имеет около двенадцати столбцов, около шести из которых являются полями шаблонов с текстовыми полями, а один - полем шаблонов с выпадающим списком.Выпадающий список привязан к другой таблице, которая содержит около 150 элементов.Сама сетка имеет около 100 записей.
Это медленно.Похоже, что проблема может быть связана с рендерингом HTML - серверу не требуется слишком много времени, чтобы ответить, но браузеры (Chrome и IE) почти перестают работать, пытаясь отобразить результат.Мое первое (очевидное) предположение состоит в том, что рендеринг 100 HTML-выборок, каждый из которых> 100 элементов, будет медленным, особенно если это делается сразу внутри тегов таблиц, как это делает ASP.NET.
Похоже ли это наразумное предположение о причине медлительности?
Для этого проекта мне (в настоящее время) не разрешено использовать jQuery (или, предположительно, любую другую библиотеку javascript), и я должен обосновать любой javascript, который я использую.По сути, другие разработчики не хотят реального понимания javascript, чтобы иметь возможность поддерживать это приложение, когда я закончу с ним.
Учитывая эти ограничения, могу ли я что-нибудь сделать, чтобы уменьшить размервозвращенного HTML и / или времени рендеринга в браузере?Заранее спасибо.