当然,他们被宣布以“< asp:”开头的事实足以推断他们是服务器控件?或者只是为了完整而包含它(因此它们看起来类似于< input runat =“server”的服务器控制声明)。还是有一些特殊原因?
总是让我感到困惑的是编译器告诉我,当我不小心这样做时,我已经错过了它。有点像“var”背后的想法 - 如果编译器知道它是什么..为什么还要求我说出来呢?
答案 0 :(得分:8)
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是必要的。