为啥 ASP.Net 服务器控件声明需要 runat="server" 属性?
Posted
技术标签:
【中文标题】为啥 ASP.Net 服务器控件声明需要 runat="server" 属性?【英文标题】:Why do ASP.Net server control declarations require the runat="server" attribute?为什么 ASP.Net 服务器控件声明需要 runat="server" 属性? 【发布时间】:2010-11-11 17:46:09 【问题描述】:确实,它们以“
当我不小心这样做时,编译器告诉我我错过了它,这总是让我感到烦恼。有点像“var”背后的想法——如果编译器知道它是什么......为什么还要期待我陈述它?
【问题讨论】:
看看***.com/questions/304290/asp-net-why-runatserver 【参考方案1】:取自this forum thread:
Internet Explorer 支持 Dhtml 行为。
[asp:control 语法] 不代表服务器 控制。您可以创建客户端 DHTML 具有命名空间并将 在客户端机器上运行。还, XHTML 中允许命名空间,并且 从技术上讲,您可以使用 asp 命名空间 对于客户的其他事情,如果你 希望。 Runat="server" 防止 命名空间冲突。如果元素没有 runat="server" 属性,它将是 发送到客户端浏览器不变。 因此,您可以使用 HTML 组件 (HTC) 在 ASP.NET 页面中也是如此。
看这里
http://msdn.microsoft.com/workshop/author/behaviors/howto/creating.asp http://msdn.microsoft.com/workshop/author/behaviors/overview.asp
Mike Schinkel 还 has a blog post 探讨了为什么需要 runat=server。
【讨论】:
我会以重复的形式关闭我的问题(另见下文),但它不会让我这样做。有什么想法吗?以上是关于为啥 ASP.Net 服务器控件声明需要 runat="server" 属性?的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET中服务器控件RadioButtonList 值改变为啥不触发SelectedIndexChanged
ASP.NET后台怎么获取.aspx页面的Checkbox的是不是选中状态?