Ich habe eine riesige ViewState verstecktes Feld, das meine Anwendung nicht funktionsfähig verursacht. Ich habe versucht:Kann Viewstate verstecktes Feld nicht entfernen
EnableViewState="false"
bei jeder KontrolleEnableViewState="false"
in SeitendirektivePage.EnableViewState = false
inPage_Init
<pages enableViewState="false" /> in web.config
Die Seite das Problem verursacht hat einen einzigen Gridview, die ich will rendern nur einmal, also brauche ich nie den Viewstate.
Ich untersuchte das versteckte Feld mit this tool, und es gibt anscheinend kaum Informationen darin (da ich die Eigenschaft in jedem Steuerelement wahrscheinlich deaktiviert). Aus irgendeinem Grund besteht die Seite jedoch darauf, ein verstecktes Feld aufzunehmen, das Tausende und Abertausende von Zeilen lang ist.
Wie kann ich dieses Feld für immer loswerden (oder auf eine brauchbare Größe reduzieren)?
Hier ist ein exert aus dem Gridview säumigen:
<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>
Haben Sie versucht es aus in der Render-Ereignis Seite Strippen? http://StackOverflow.com/Questions/2432972/Completely-Remove-viewstate-for-specific-pages – KodeKreachor
@KodeKreachor Ich habe nicht darauf zurückgegriffen (noch), es scheint wie ein massiver Kludge. Der Autor von diesem sagt _ "Overhead davon zu tun würde fast sicher größer sein als jeder mögliche Nutzen obwohl _ _ dem ich zustimmen würde :( – Flash
:) Ja, Ihre Möglichkeiten sind ziemlich begrenzt, das ist die Natur von ASP.NET .Aus diesem Grund bin ich ein großer Fan von MVC geworden. Es ist ein leistungsfähiges Framework, das einen leichtgewichtigen Renderer, kein aufgeblähtes Markup, nur das liefert, was Sie brauchen. – KodeKreachor