问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ASP.NET服务器控件视图浅析

发布网友 发布时间:2023-06-30 00:06

我来回答

1个回答

热心网友 时间:2023-10-14 02:20

  ASP NET服务器控件视图的必要性 如果我们的服务器控件需要较完备的GUI 譬如需要控制HTML元素的附加属性字体 颜色 高度等 那么应当从Control的子类WebControl继承 以得到所需的基础性能 从WebControl类派生 需要遵守通常如下的约定

   包含从System Web UI WebControl的命名空间的引用

   不能够重载Render方法直接向输出流提供数据 而应当重载RenderContents方法来实现

   通常情况下 WebControl的派生类最终在输出流中表现为<span>标签 但是如果自己希望使用其它的标签 就应当重载WebControl的tagKey属性或者TagName属性

  ASP NET服务器控件视图学习的经验(或者说MS建议)

   如果控件生成非可视化元素或显示给非HTML客户端 那么应当选用Control作为符类继承 如<meta><xml>等标签

   提供HTML界面的从WebControl继承

   扩展修改功能时应当从一个已存控件派生 但是不要从System Web UI HtmlControls命名空间派生 因为设计器不承认从该类派生的控件

  为了能够支持设计器 实现设计期 那么需要考虑attribute(元数据)的编程

  ASP NET服务器控件视图之视图状态

  Web编程很重要的一个方面是状态管理 也就是解决在无状态的协议基础上的状态管理问题 在asp类web编程技术时代 这通常通过以下技术手段来解决

   Session

   Cookies

   隐藏变量

   URL携参

  然而 以上方案都有自身的缺陷 譬如Session不宜扩展 Cookies在特定情况下可能不可用 隐藏变量不易管理 URL携参有长度*且容量有限

  综合考虑 MS提出了基于隐藏变量方案的ViewState(视图)的概念 通过视图保存 个ASP NET页间的服务器端控件状态 视图是如何工作的呢?

  在处理一个Web请求后 页面框架会收集页面控件树中所有控件的状态并且创建一个视图对象 每一个Control都有一个ViewState字典保存自己的状态 当输出到客户时将全部ViewState进行串行化为一个字符串表达式 作为隐含变量发送到客户端 通常情况下我们将视图的串行化子符串在服务器同客户端间进行传递 上一个请求的隐含变量会回传到服务器端进行并行化 然后 还原 给服务器控件 本质上 是一个隐含变量 但是在隐含变量基础上加入了ASP NET的管理功能 这就是视图的本质

  Control的EnableViewState决定了控件是否同意将自己的状态交给自动化的视图管理

  当一个控件需要保存状态时候 没人可以支持保存的属性为int boolean 等 简单原生 数据类型 如果是较为复杂的属性值类型 需要编程者提供类型转换器 将值数据转换为字符串 若未提供

  那么采用代价高昂的二进制串行化功能(逐个byte的进行) 视图数据在传递过程中通过传递一个附加的摘要来确保数据不被篡改(但无法保证不被窥探 毕竟base 编码近乎明文)

lishixin/Article/program/net/201311/12501
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
5数字寓意是什么意思 如何在 iPhone14上恢复已删除的照片? 红井源 醇香胡麻油 2.5L-购买最佳价格 python如何实现修改当前文件夹下所有文件名称? python遍历输出所有文件 用Python遍历指定文件夹下所有文件 Python:读取指定路径下的文件,含子文件夹,可指定文件类型 谁有治疗网瘾的好方法? 孩子有网瘾又叛逆怎么办 退伍证名字错了怎么办 asp程序员使用asp.net中服务器控件的困惑 建筑智能化专业是做什么的(就业前景和专业介绍如何) 未来智能化有哪些职业? 请问幼儿园发奖状有格式吗? cpu主频,核心,缓存哪个重要 主频和缓存哪个更重要?挑选CPU优先考虑哪个参数? cpu的主频和缓存哪个重要些? 睿频高好还是主频高好 怎么做点水成冰的现象? 哪吒v快充连接不了? 8-12岁科学小实验 向粘有小塑料粒的气球打气可以模拟宇宙的什么? 光大银行信用卡验证次数超限怎么办 大肚弥勒佛会转世吗 专四dictation评分规则 专四阅读的评分标准是什么样的? 睡前涂芦荟胶过夜洗还是不洗 三国乱世攻略白虎玄武 怎么过朱然 夜走麦城故事,50——80字左右,急急急,明天演讲啊!!! 星际穿越中 库珀掉黑洞里了,最后怎么又出来了? 我用过的女士背包能随便送人吗 茶几机保温功能,水壶没有水,会不会爆炸 茶吧机的烧水壶上没有304钢印对人体有害吗? RT-PCR提取的是总RNA还是mRNA 荧光定量pcr为什么比rt-pcr更能反映细胞里的mrna水平 iphone手机无线打开自动下载的软件,图标很暗而且打不开,长按三秒能出现... 速腾和海外版捷达是同一款车吗? 换代捷达与换代速腾的区别,现在网上说的两者怎么都是一种车? 新代系统电源盒输出电压 求助,依马壁挂炉使用方法 在探探上认识了一个朋友,在见面之前我想问他是不是个骗子,他拍好多实拍... 壁挂炉水泵排空气方法 壁挂炉排空气方法 壁挂炉暖气排气方法 壁挂炉热交换器排气方法 梦见我们家公鸡很凶要啄我的预兆 喜喜绯凡烧水壶怎么设置 如何证明等式:2 ab=2* a* b? 证明a&#x00B2;+b&#x00B2;&gt;=2ab 房地产开发项目的招标,由开发公司的哪个部门负责?是前期开发部吗?_百 ...