码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET服务器端控件和HTML控件的比较 (转)

时间:2014-06-12 18:38:48      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:http   tar   ext   com   get   文件   

区别:服务器端控件都会有个runat="Server"属性,这样才能够在后台对其进行修改,也就是在cs代码里面能对其进行修改。例如,当你放个HTML控件时,在CS代码中引用不出控件名,但加上runat="Server" 后在CS代码中就能引用该控件了。

其实ASP.NET 的服务器控件解析后最终返回到前台还是HTML控件。例如当你建个页面并放一个asp:textbox上去,然后运行页面,查看页面源文件就会发现放上的服务器控件变成了HTML的inupt type="button"。

视图状态是指:由于HTTP连接属于无状态的,每次页面请求都无法记录上次请求页面的信息。那么要保存上次请求页面上控件的值,也就是页面刷新后,填写的值不变,比如在textbox里填了个‘a‘,页面刷新后还是‘a‘,.NET框架为了实现这种机制,就利用viewstate视图状态来保存这些控件的值。

然而这些控件的值都存在什么地方呢?运行程序,然后在页面中查看源文件,我们就可以看到一个input type="hidden" name="__VIEWSTATE"的标签,这就是所谓的”视图“。它是经过服务器序列化过的,当服务器再次接收后会反序列化这些隐藏域的值,接着重新给这些控件赋值,从而页面刷新后还能记录上次请求时候的所有控件的值。

服务器控件都会默认保存VIEWSTATE,它有个属性(EnableViewState)可以设置,设置为Flase就不保存,页面刷新后,值也就没了,可以做个测试放个textbox设置为EnableViewState为false,然后输入个值,然后再用按钮去刷新页面,那么textbox会为空,因为没有视图状态记录到上次你输入的值。

ASP.NET服务器端控件和HTML控件的比较 (转),布布扣,bubuko.com

ASP.NET服务器端控件和HTML控件的比较 (转)

标签:http   tar   ext   com   get   文件   

原文地址:http://www.cnblogs.com/hellowzl/p/3781782.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!