runat=”server”的时候到底发生了什么?

既然问题是从runat=”server”引起的,那么就得从它入手。runat=”server”这个标记,旨在aspx页面被编译的时候,用来标识我们页面上的html应该如何解释的。准确地说,aspx页面的生成原理是,aspx页面会被读入分析器,当一个HTML标签内不包含runat=”server”的时候,它将被当作字符串输出或者编译成new LiteralControl(“具体的文本”);

当遇到runat=”server”的时候,如果标签可以被转换为一个HtmlControl,则转换成HtmlControl,否则将会被解释为一个HtmlGenericControl对象,因为要转换成对象,所以会多出一些规则检查,假设没有runat="server",则你的所有字符都将被当作文本进行输出,但是如果加上runat="server",则所有的属性如果有对应的则转换成“属性=value”的模式,如果没有,则转换成SetAttribute("name", "value");的形式,因此如果id="",则会变成XXX.ID="",而此处的ID则需要满足一般的命名规范,以满足在别的地方直接以ID进行对象引用,也就是说必须是字母/下划线打头。对其他属性则没有过多严格的要求,但是对应的<%=str%>将只以文本进行输出,而不会替换为其值。

runat=”server”相关推荐

  1. ASP.NET中使用多个runat=server form

    作者:未知 ASP.NET 在同一个页面不支持多个 runat=server forms,要解决这个问题,可以把每个 form 放在一个单独的 panel 控件中,这样用户就可以简单地通过单选按钮在不 ...

  2. script runat=server,%%区别

    ①<script runat="server">代码段与<%%>内联代码段的区别 在asp.net页面的aspx文件中允许使用<script runa ...

  3. % %和ltscripte runat=server的区别

    <% %>代码块和<script runat="server"></script>代码块的区别要从编译后的区别来说.每个ASPX页面被编译成一个 ...

  4. ContentPlaceHolder必须放在具有 runat=server 的窗体标记内

    类型"GridView"的控件"ctl00_contentBody_gridView4Export"必须放在具有 runat=server 的窗体标记内. 页面 ...

  5. runat=server 所代表及隐含的意义

    转自这里https://blog.csdn.net/being_towards_death/article/details/81117340 1.runat="server"的作用 ...

  6. runat=server

    指定服务器控件.通过此声明,即使是在System.Web.UI.HtmlContrls namespace下面的html control也可以经asp.net机制封装成服务器控件. 如果无此声明,即使 ...

  7. 后台获取前台runat=server的select的值

    <li><asp:Label ID="Lpro" runat="server" Text="省份:" CssClass=& ...

  8. 排除“使用主题 css 文件要求页上有标头控件。(例如 head runat=server /)”错误...

    "使用主题 css 文件要求页上有标头控件.(例如 <head runat="server" />)" 原来,生产环境上部署了Theme. 用下面的 ...

  9. GridView”的控件 必须放在具有 runat=server 的窗体标记内 “错误提示”

    在做导出数据到EXCEL程序中,出现了错误提示:类型"GridView"的控件"GridView1"必须放在具有 runat=server 的窗体标记 解决办法 ...

  10. 控件必须放在具有 runat=server 的窗体标记内错误的解决方法

    页面需要一个导出到Excel的功能,不想再次查询数据,想直接输出一个div的里面的内容,可以总报错,尝试了很多方法不行,总提示,一个隐藏控件必须放在具有 runat=server 的窗体标记内&quo ...

最新文章

  1. Linux下HOOK动态链接库中API的方法
  2. 美国互联网瘫痪了,你的密码怎么办?
  3. 美团某程序员哀叹:能力很强,却因为不会“向上管理”而惨遭被裁!怎么办?...
  4. Python中怎么判定一个List里面的元素是不是全部一样
  5. 模拟实现常用字符串函数
  6. 使用weka进行Cross-validation实验
  7. 春节快乐!iPhone11 128G抱回家!
  8. SpringXML方式配置bean的懒加载lazy-init
  9. python次方运算_neg__python 魔术方法1 运算符重载
  10. 图像预处理第1步:将256色图像转化为灰度图像
  11. Atitit.项目修改补丁打包工具 使用说明
  12. XCAP发包工具的使用
  13. 用以太坊区块链和jwt token保证Asp.Net Core的API交互安全(上)
  14. js修改div标签中的内容
  15. 关于 js 闭包的理解
  16. HM编码器代码阅读(13)——帧间预测之AMVP模式(一)总体流程
  17. 图形和函数图像的绘制
  18. 数据库——第二章关系运算题整理
  19. 开源项目推荐:运动控制速度前瞻算法(Look-Ahead),连续小线段高速插补算法
  20. 读书 | 互联网思维到底是什么

热门文章

  1. LVGL 之 windows 上 lvgl 模拟器基于 Visual Studio 搭建方法的简单整理
  2. lisp画示坡线,cass绘制的陡坎示坡线在CAD中显示不出来是什么原因
  3. 老羊摘编自《罗辑思维跨年演讲》分享1--万物有灵
  4. 李严冰:云是“三国版”计算模式的演变
  5. 关于CMake,这篇真的很到位!!
  6. R语言广义矩量法GMM和广义经验似然GEL估计ARMA、CAPM模型分析股票收益时间序列
  7. NFS、FTP、SAMBA服务搭建
  8. 安卓Android 直播点赞爱心特效,计时器
  9. win 11 快捷键(备忘录)
  10. 自定义php模板解析,迅睿CMS 自定义模板解析标签