내 응용 프로그램이 작동하지 않는 원인이되는 막대한 viewstate 숨김 필드가 있습니다. 나는 시도했다 : 페이지 지시문의 모든 제어 viewstate 숨겨진 필드를 제거 할 수 없습니다.
EnableViewState="false"
에
EnableViewState="false"
Page.EnableViewState = false
<pages enableViewState="false" /> in web.config
Page_Init
this tool을 사용하여 숨겨진 필드를 검사했으며 분명히 모든 컨트롤의 속성을 비활성화 했으므로 정보가 거의 없습니다. 웬일인지, 페이지는 수천의 선과 수천의 선인 숨겨진 들판을 포함하는 것을 주장한다.
이 필드를 제거하거나 사용 가능한 크기로 줄일 수있는 방법은 무엇입니까?
이<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>
페이지의 렌더링 이벤트에서 제거하려고 했습니까? http://stackoverflow.com/questions/2432972/completely-remove-viewstate-for-specific-pages – KodeKreachor
@KodeKreachor 나는 그것 (아직)에 의지하지 않았다, 그것은 거대한 kludge와 같게 보인다. 그 저자는 _ "이 작업의 오버 헤드는 거의 확실하게 어떤 이점보다 큽니다."_ 나는 동의해야합니다. ( – Flash
:) 예, 옵션이 꽤 제한적입니다. ASP.NET의 특성입니다. .이것이 내가 MVC의 큰 팬이 된 이유입니다. 가벼운 렌더링, 부풀린 마크 업, 필요한 것만 제공하는 강력한 프레임 워크입니다. – KodeKreachor