• asp.net的服务器控件客户端空件的区别以及如何刷新页面不靠数据库数据停留在页面


    区别:服务器端控件都会有个runat="Server"属性,
    这样才能够在后台对其进行设置修改,
    也就是在cs代码里面能对其修改设置。
    你做下测试 你放个HTML控件 在CS代码是引用不出控件名的
    然后你个HTML控件加上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会为空,因为没有视图状态记录到上次你输入的值。
    感谢http://zhidao.baidu.com/link?url=L93vdZllR03j0StqfORIQbolybJBItrruXpaTYFrDdkaCJ9P0o1t3wSSHnakEoLmtlQTD3p1Ukv_E976-PNe1K作者的分享
  • 相关阅读:
    vs2015解决fopen、fscanf 要求替换为fopen_s、fscanf_s的办法
    ThinkPHP5.1的公共函数
    Linux禁止ping
    2019.10.17 上科大虞晶怡教授
    Minimax极大极小算法、Alpha-Beta Pruning剪枝算法
    Apache24服务无法启动,发生服务特定错误1.
    LaTeX小白安装超详细步骤(WIndows系统)||相信我看这个安装就够啦!
    Java中Comparator比较器的使用
    当我看到别人二战想法,退缩的时候,我的感受
    2019.12.3 学英语的心得;学习学习
  • 原文地址:https://www.cnblogs.com/chenzhenzhen/p/3990503.html
Copyright © 2020-2023  润新知