禁用web.config中所有Label控件的视图状态
本文关键字:Label 控件 视图状态 web config 禁用 | 更新日期: 2023-09-27 17:58:17
是否可以在web.config中禁用特定类型控件的视图状态?
我知道我可以使用<pages enableViewState="false">
禁用所有页面的视图状态,但如果我只想针对所有标签控件呢?
crud方法之一可以是递归地迭代页面中的所有控件,并禁用标签控件的视图状态——显而易见的问题是,您需要在页面周期的早期这样做,在这种情况下,您可能会错过动态添加的控件。
更优雅的解决方案是创建一个继承自标签控件的自定义控件,并禁用视图状态(比如在构造函数中),例如
public class MyLabel : System.Web.UI.WebControls
{
Public MyLabel()
{
EnableViewState = false;
}
}
(请注意,在健壮的实现中,应确保在保存视图状态之前禁用视图状态。)
现在,您可以使用ASP.NET标记映射功能将所有标签控件映射到web.config中的标签控件。