ViewState查看工具(ViewStateDecoder)
ViewStateDecoder工具是开发人员编码过程中重要的辅助,主要作用于ASP.NET网页中的ViewState,可以清晰查看当前代码文本中的字符串信息以及编码规则,支持对网页端内容的检测,在对已经开发编辑完成的代码起到自助检测运行的作用,并且因为其体积实在不大,所以并不会造成冗余的后台占用。
ViewStateDecoder功能
1、ViewStateDecoder2官方版主要用于查看asp.net网页中的viewstate,属于程序员或者开发人员常用的一款工具。用来存放可转换为字符串格式的信息,主要存放页面上 Web 控件中数据的状态,主要功能是支持 Web 控件的持久性。
2、从运行的ASP.NET应用程序中,首先注意的是页面的会送功能。这对于开发人员真的是一个好处,开发人员不用手动保存服务器的每次往返之间的信息。
3、ASP.NET为服务的服务器控件(服务器控件使用runat=’server属性指定)提供视图状态。当ASP.NET为HTML的形式呈现页面 时,它创建一个隐藏的窗体字段,成为_ViEWSTATE。这个字段是一个加密的、标记化得字符串(可以通过工具ViewStateDecoder查看,可以到网上下载),包含ASP.NET页面上每个控件的名/值对。
4、每个控件存储的值实际上时控件关联的值和状态信息。当页面被发送到服务器是,ASP.NET可以轻松地使用这些值并重新构建页面控件,控件的值和状态,不用开发人员编写代码。
查看ViewState方法
从运行的ASP.NET应用程序中,首先注意的是页面的会送功能。这对于开发人员真的是一个好处,开发人员不用手动保存服务器的每次往返之间的信息。ASP.NET为服务的服务器控件(服务器控件使用runat=’server属性指定)提供视图状态。当ASP.NET为HTML的形式呈现页面时,它创建一个隐藏的窗体字段,成为_ViEWSTATE。这个字段是一个加密的、标记化得字符串(可以通过工具ViewStateDecoder查看,可以到网上下载),包含ASP.NET页面上每个控件的名/值对。每个控件存储的值实际上时控件关联的值和状态信息。当页面被发送到服务器是,ASP.NET可以轻松地使用这些值并重新构建页面控件,控件的值和状态,不用开发人员编写代码。
创建一个ASP.NET页面PageViewStateDemo.aspx实现一个文本框,两个按钮实现文本框的隐藏和显示,以说明ViewState字段值是如何工作的。
页面代码如下:
<asp:ButtonID="btnHide"
style="z-index:111; left:15px; position:absolute; top:59px;"runat="server"
Width="61px"Text="Hide"onclick="btnHide_Click" />
<asp:ButtonID="btnShow"
style="z-index:112; left:95px; position:absolute; top:59px;"runat="server"
Width="61px"Text="Show"onclick="btnShow_Click" />
后台代码很简单:
protected void btnHide_Click(object sender, EventArgs e)
{
this.txtName.Visible = false;
}
protected void btnShow_Click(object sender, EventArgs e)
{
this.txtName.Visible = true;
}
在浏览器查看该页面,在ASP.NET页面返回后查看其源代码:
利用刚才提到的ViewState查看工具ViewStateDecoder查看ViewState:
点击Hide按钮再看源代码:
可以看到ViewState的值不一样了:
ViewState在开发Web页面是确实可以节约时间。但是,它有性能成本。在上面的例子可以看出,对服务器控件的一个属性的最轻微的修改也会改变视图状态的大小。在页面中添加10到20个简单的服务器控件,和几个高级的服务器控件,可以看到呈现HTML的大小可以变成应用程序的一个瓶颈,尤其是对于带宽有限的用户来说。
为了提高ASP.NET应用程序的性能,必须得控制服务器控件的使用以降低呈现的HTML的大小。控制服务器控件的手段就是在不需要服务器的代码执行期间在不需要与控件交互时使用静态的HTML控件。
对一个正常的HTML控件使用runat=server属性,它就可以从服务器端的代码中访问,并且和ASP.NET服务器控件具有相同的性能损失。
上文就是小编为您带来的ViewState查看工具(ViewStateDecoder)了,更多精彩软件请多多关注软件爱好者。