<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="asp.net 动态创建TextBox控件及状态数据如何加载" id="card1">
<p> 游客</p><p>
标题:asp.net 动态创建TextBox控件及状态数据如何加载<br/>
正文:<br/>
 这里我们来说说状态数据时如何加载的。虽然在Control中有调用状态转存的方法，但是这里有一个判断条件 if (_controlState &amp;gt;= ControlState.ViewStateLoaded) 一般的get请求这里的条件是不满足的。 复制代码 代码如下:internal enum ControlState { Constructed, FrameworkInitialized, ChildrenInitialized, Initialized, ViewStateLoaded, Loaded, PreRendered }  我们知道在page的ProcessRequest中this.ControlState = ControlState.FrameworkInitialized;ProcessRequestMain方法中在Init后有调用this.InitRecursive(null);在这个方法里面有这么一句_controlState = ControlState.Initialized;，在LoadAllState()方法中有这么一句 base.LoadViewStateRecursive(second.Second);，而LoadViewStateRecursive中又有_controlState = ControlState.ViewStateLoaded这句带代码，所以我们在Page_load中动态条件控件时， if (_controlState &amp;gt;= ControlState.ViewStateLoaded)条件成立，如图： 所以在运行this.form1.Controls.Add(txt);这句以前，txt的值为demo1，如图 但是运行以后之就发生变化了：当然这里的txt.Text值也是我上次post过来的旧值，新值是在控件的LoadPostData方法中重新绑定。在默认的LoadViewStateRecursive方法中有一个很重要的判断 复制代码 代码如下:internal void LoadViewStateRecursive(object savedState) { // nothing to do if we have no state<br/><a href="http://www.xmwzidc.com/blog/wap.asp?mode=WAP&amp;act=View&amp;id=2157&amp;Page=1">[&lt;&lt;]</a><a href="http://www.xmwzidc.com/blog/wap.asp?mode=WAP&amp;act=View&amp;id=2157&amp;Page=1">[[1]]</a><a href="http://www.xmwzidc.com/blog/wap.asp?mode=WAP&amp;act=View&amp;id=2157&amp;Page=2">[2]</a><a href="http://www.xmwzidc.com/blog/wap.asp?mode=WAP&amp;act=View&amp;id=2157&amp;Page=3">[3]</a><a href="http://www.xmwzidc.com/blog/wap.asp?mode=WAP&amp;act=View&amp;id=2157&amp;Page=5">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=2157">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=2157">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://www.xmwzidc.com/blog/wap.asp">首页</a>
</p>
</card>
</wml>