首先往Web窗体中拉入几个控件.
有4个控件组成.label button panel中含textbox
将label的Visable设为false即,使其不被显示.
然后开启跟踪,运行程序
得到以下数据
我们看到很多个LiteralControl控件,这个是用来做什么呢?我们没有添加这个控件呀?
其实这是asp.net程序代码中的空白部份.
比如:
<asp:TextBox id="txt1" runat="server" />
<asp:TextBox id="txt2" runat="server" />
两个控件之间就有了空白了.LiteralControl控件就在他们之间
比如:
<asp:TextBox id="txt1" runat="server" /><asp:TextBox id="txt2" runat="server" />
两个控件之间就没有了空白.也就没有了LiteralControl控件喽.不信可以自己试一试啊.
回到正题:
可以看到 Label1的呈现大小字节数为 0 由于其Visable设为false所以不被呈现,当然呈现大小为0喽.
Button1 被呈现,大小字节数为66
我们主要观察Panel1 与其中的 TextBox1 127 和 51
我们来看看其回发后的大小,就可以看出系统是如何保留数据的.
输入一些数值,点Button.触使回发.
Panel1与其下的TextBox1的大小发生改变 从127 和 51 变成 146 和70 数据增大.
说明了,客户端把数据通过ViewState发给Asp.net,系统保留了数据.绘制它们.
学会了这些之后,我们也可以来测试下
RenderControl
Render
RenderChildren
查看组件(3)中的代码片段.
protected override void RenderChildren(HtmlTextWriter writer)
{
//foreach (Control c in this.Controls)
//{
// c.RenderControl(writer);
//}
}
注释掉以上4行.使控件不能绘制子控件.
我们推断UseComponent1下的子控件ctl05呈现大小应该为0
跟踪下验证结果是否正确:
结果正确.
去掉以上4行注释.运行程序,使其能绘制子控件.
我们推断UseComponent1下的子控件ctl05呈现大小不为0
跟踪下验证结果是否正确:
为10正确.
有4个控件组成.label button panel中含textbox
将label的Visable设为false即,使其不被显示.
然后开启跟踪,运行程序
得到以下数据
我们看到很多个LiteralControl控件,这个是用来做什么呢?我们没有添加这个控件呀?
其实这是asp.net程序代码中的空白部份.
比如:
<asp:TextBox id="txt1" runat="server" />
<asp:TextBox id="txt2" runat="server" />
两个控件之间就有了空白了.LiteralControl控件就在他们之间
比如:
<asp:TextBox id="txt1" runat="server" /><asp:TextBox id="txt2" runat="server" />
两个控件之间就没有了空白.也就没有了LiteralControl控件喽.不信可以自己试一试啊.
回到正题:
可以看到 Label1的呈现大小字节数为 0 由于其Visable设为false所以不被呈现,当然呈现大小为0喽.
Button1 被呈现,大小字节数为66
我们主要观察Panel1 与其中的 TextBox1 127 和 51
我们来看看其回发后的大小,就可以看出系统是如何保留数据的.
输入一些数值,点Button.触使回发.
Panel1与其下的TextBox1的大小发生改变 从127 和 51 变成 146 和70 数据增大.
说明了,客户端把数据通过ViewState发给Asp.net,系统保留了数据.绘制它们.
学会了这些之后,我们也可以来测试下
RenderControl
Render
RenderChildren
查看组件(3)中的代码片段.
protected override void RenderChildren(HtmlTextWriter writer)
{
//foreach (Control c in this.Controls)
//{
// c.RenderControl(writer);
//}
}
注释掉以上4行.使控件不能绘制子控件.
我们推断UseComponent1下的子控件ctl05呈现大小应该为0
跟踪下验证结果是否正确:
结果正确.
去掉以上4行注释.运行程序,使其能绘制子控件.
我们推断UseComponent1下的子控件ctl05呈现大小不为0
跟踪下验证结果是否正确:
为10正确.