今天看到VieState的原理了,就小小的分享下我的理解吧!我也是新手!给点鼓励吧
大家知道div是不能够直接往服务器提交数据的,服务器只接受拥有name字段与value值的;所以只有表单才能够向服务器提交,但是HTML表单意外的元素要提交怎么办呢?
就只能够通过隐藏表单来实现了。
比如 <input type="hidden" name="Name" value="$text" />
<div>$text</div>
当我们提交的时候我们其实提交的是这种类型的表单,然后通过程序把$text的值替换掉,这样div就有了看起来像是提交与返回的一个功能了!
先前讲过了ViewState里面只存了这些隐藏表单!但是在服务器控件里面TextBox会转自动转换成input ,input属于表单!所以他不许要隐藏字段!就可以直接使用!但是lable控件会转换成<span>标签所以还是得依赖与ViewState。
唉!讲这么多!我自己是明白了!不知道你明白了吗?
表达能力一般!还请见谅