什么时候禁用视图状态是安全的?用于哪些控件?什么情况下?
在用户控件中,我禁用了视图状态,但是如果我尝试单击此控件
<asp:LinkButton ID="LinkButton1" runat="server"
CommandName="Delete"
OnClientClick="return confirm('¿Está seguro que desea eliminar el mensaje?');"
EnableViewState="true">
<asp:Image ID="ImageButton1" runat="server" ImageUrl="~/Content/Images/delete.png"
ToolTip="Eliminar mensaje" /> Eliminar
</asp:LinkButton>
我收到 System.InvalidOperationException 异常。它位于 ListView 内部。
这归结为您是否希望页面在回发过程中记住事情。如果您要在每个回发视图状态上重新创建或分配值,则没有必要
Here's http://learnitfromvince.blogspot.com/2008/04/when-to-disable-and-enable-viewstate-on.html一些好的建议
在控件上动态插入值(通过绑定或
以编程方式分配) –
该控件的值不会
重新渲染时保留,例如
从视图 1 切换到视图 2。但是你
必须考虑两件事,如果你
考虑重新填充值
每个渲染都很难实现
那么不要禁用视图状态,如果
那么你可以禁用它并且
重新初始化渲染控件
事件。我为什么建议这个?它是
因为处理服务器端代码是
比传输大数据快得多
垃圾数据返回服务器并
往返时向客户提供。
On Datalist 和 DropDownList – 如果您不使用 On Selected Index Change 事件,则可以禁用视图状态。
在 Gridviews 上 – 这是最难决定是否禁用的部分
查看状态或保留它。如果你是
只是显示数据,甚至
仅用于选择,然后
禁用视图状态。如果你是
使用分页、编辑或删除
功能则不要。网格视图有
最大的视图状态容量,以便您
应该明智地使用它。如果你必须
更新多达 5 列那为什么
不仅仅是打开另一个视图然后设置
那里的值需要更新
而不是在 gridview 上更新它
直接地。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)