关于GridView的EnableViewState属性,该怎么处理
展开全部
其实最占用资源的就是datagrid,repeater,datalist等这些控件.
datagrid里面数据量庞大.但他的viewstate值在翻页,编辑等操作时起到很大的作用,所以datagrid的viewstate值不能完全禁用.
我们这里以datagrid为例介绍一个如何禁用一批viewstate来优化速度
datagrid里<asp:BoundColumn>.他在浏览时是个Label,编辑时他是一个textbox.而label和textbox都是带有viewstate.比如是一个5列20行的
datagrid,当他数据填充以后他就含有100个viewstate的值,这是一个庞大的数据..如果不想办法禁用是很占用资源的.
<asp:BoundColumn>方法虽然方便,但尽量大家不要使用,用如下方法代替
<asp:TemplateColumn>
<ItemTemplate>
<div align=center>
<%# DataBinder.Eval(Container,"DataItem.id") %>
</div> //不要使用任何控件,一样能显示,而且不占用资源
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="Textbox2" Text='<%# DataBinder.Eval(Container,"DataItem.listid")%>' Runat="server"
EnableViewState=False Columns="自己赋值">
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
datagrid里的项,viewstate能禁用的尽量禁用,太占资源了
datagrid里面数据量庞大.但他的viewstate值在翻页,编辑等操作时起到很大的作用,所以datagrid的viewstate值不能完全禁用.
我们这里以datagrid为例介绍一个如何禁用一批viewstate来优化速度
datagrid里<asp:BoundColumn>.他在浏览时是个Label,编辑时他是一个textbox.而label和textbox都是带有viewstate.比如是一个5列20行的
datagrid,当他数据填充以后他就含有100个viewstate的值,这是一个庞大的数据..如果不想办法禁用是很占用资源的.
<asp:BoundColumn>方法虽然方便,但尽量大家不要使用,用如下方法代替
<asp:TemplateColumn>
<ItemTemplate>
<div align=center>
<%# DataBinder.Eval(Container,"DataItem.id") %>
</div> //不要使用任何控件,一样能显示,而且不占用资源
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="Textbox2" Text='<%# DataBinder.Eval(Container,"DataItem.listid")%>' Runat="server"
EnableViewState=False Columns="自己赋值">
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
datagrid里的项,viewstate能禁用的尽量禁用,太占资源了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询