У меня есть массивное скрытое поле viewstate, из-за которого мое приложение не работает.Я пробовал:
EnableViewState="false"
на каждом элементе управления EnableViewState="false"
в директиве страницы Page.EnableViewState = false
в Page_Init
<pages enableViewState="false" /> in web.config
На странице, вызывающей проблему, есть один GridView, который я хочу визуализировать только один раз, поэтому мне никогда не нужно состояние просмотра.
Я исследовал скрытое полеиспользуя этот инструмент , и в нем, по-видимому, почти нет информации (поскольку я отключил свойство в каждом элементе управления, вероятно).По какой-то причине, страница настаивает на включении скрытого поля длиной в тысячи и тысячи строк.
Как мне избавиться от этого поля (или уменьшить его до полезного размера) навсегда?
Вот пример из оскорбительного GridView:
<asp:GridView ID="MyGrid" runat="server" AutoGenerateColumns="False"
EnableModelValidation="True" EnableViewState="False"
CssClass="my-report">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<span title='title' class="abbr">My ID</span>
</HeaderTemplate>
<ItemTemplate>
<%# Eval("my_id") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<span title='title2' class="abbr">Second col heading</span>
</HeaderTemplate>
<ItemTemplate>
<asp:ListView ID="MyListView" runat="server" EnableViewState="False">
<LayoutTemplate>
<ul>
<asp:PlaceHolder runat="server" ID="itemPlaceHolder" EnableViewState="False" />
</ul>
</LayoutTemplate>
<ItemTemplate>
<li><%# Eval("field_2")%></li>
</ItemTemplate>
</asp:ListView>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>