5

当然,他们声明以“< asp:”开头的事实足以推断他们是服务器控件?还是只是为了完整而包含(例如,它们看起来类似于服务器控制声明< input runat =“server”)。还是有一些特殊的原因?为什么ASP.Net服务器控件声明需要runat =“server”属性?

编译器告诉我,偶然发生错误时,我错过了它。有点像“var”背后的想法 - 如果编译器知道它是什么。为什么麻烦期待我说出它呢?

+0

检查出来http://stackoverflow.com/questions/304290/asp-net-why-runatserver – Kaz 2009-07-17 14:56:04

回答

8

this forum thread摘自:

Internet Explorer支持DHTML 行为。

[The asp:control syntax]并不意味着服务器 控制。您可以创建具有名称空间的客户端DHTML 组件,并且将在客户端计算机上运行 。另外,在XHTML中允许使用 命名空间,并且在技术上,您可以使用asp命名空间 作为客户端上的其他内容,如果您希望使用 。 Runat =“server”可以防止 命名空间发生冲突。如果元素没有 runat =“server”属性,则将 不变地发送到客户端浏览器。 因此,您也可以在ASP.NET页面中使用HTML组件 (HTCs)。

看一看这里

http://msdn.microsoft.com/workshop/author/behaviors/howto/creating.asp http://msdn.microsoft.com/workshop/author/behaviors/overview.asp

迈克·辛克尔也has a blog post探索为什么RUNAT =服务器是必要的。

+0

我会关闭我的问题作为一个副本(也见下文),但它不会让我。有任何想法吗? – Ray 2009-07-17 15:02:33

相关问题