ASP.NET服务器控件之控件状态
p:Label ID="Label1" runat="server" Text="Label"> </asp:Label> <br /> IndexInViewState属性值是: <asp:Label ID="Label2" runat="server" Text="Label"> </asp:Label> <br /> </div> </form> </body> </html> 以上代码很简单。关键是读者要注意在@ Page指令中设置了EnableViewState="false",以便在页面禁用视图状态。此时,页面及页面内的所有控件,包括IndexButton都无法使用视图状态。那么,当运行该页面时应呈现怎样的应用效果呢?具体页面应用效果如图1所示。 图1 如图1所示,当用户单击"IndexButton"按钮时,由于页面禁用了视图状态,因此,IndexInViewState属性无法完成其实际功能,其属性值将一直保持为0。然而,页面禁用视图状态对于由控件状态实现的属性IndexControlState而言,则没有丝毫影响。每当用户单击按钮一次,那么个该属性值增加1。 通过以上示例,相信读者已经对视图状态和控件状态有了更为深入的认识。然而,可能还是有一个疑问缠绕在心中:视图状态和控件状态如此相似,那么该在何种情况下使用视图状态,又在何种情况下使用控件状态呢?通常而言,视图状态当需要存储少量回发到自身的页信息时使用。使用ViewState属性可提供具有基本安全性的功能。控件状态当需要在服务器的往返过程间存储少量控件状态信息时使用。关键的一点是:应该对那些在回发过程中,对控件至关重要的少量关键数据使用控件状态,而不要将控件状态作为视图状态的备用选项使用。 小结 本文主要介绍了控件状态的基本概念,并通过一个典型示例说明了这种技术特性的应用方法。需要再次提醒的是:仅对那些在回发过程中对控件至关重要的少量关键数据使用控件状态,而不要将控件状态作为视图状态的备用选项使用。这是开发人员应用视图状态和控件状态的关键所在。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |