为什么我必须在所有ASP上指定runat="server"
.NET控件时,它是一个强制属性,而server
是我对ASP有限的了解中唯一可用的选项.NET,如果我不使用它就会出错?
我知道我可以 Select 在HTML标签上使用它,我也知道客户机/服务器模式以及它实际指定的内容.
是控件是ASP.NET控件所暗示的冗余标记,还是有潜在的原因呢?
为什么我必须在所有ASP上指定runat="server"
.NET控件时,它是一个强制属性,而server
是我对ASP有限的了解中唯一可用的选项.NET,如果我不使用它就会出错?
我知道我可以 Select 在HTML标签上使用它,我也知道客户机/服务器模式以及它实际指定的内容.
是控件是ASP.NET控件所暗示的冗余标记,还是有潜在的原因呢?
我一直认为,这是有更多的理解,你可以混合ASP.NET标记和HTML标记,以及HTML标记可以 Select 是否为runat="server"
.保留标记不会造成任何影响,而且会导致编译器错误将其删除.你对网络语言的暗示越多,对于一个初露头角的程序员来说,学习它就越不容易.这是详细描述标记属性的一个很好的理由.
这段对话发生在迈克·辛克尔与微软国家服务部的塔尔博特·克罗威尔之间的Blog次谈话中.相关信息如下(第一段因原文语法错误而转述):
[...],但是对于一致性和可扩展性而言,
<runat="server">
的重要性更大.如果开发人员必须标记一些标记(即
<asp: />
)ASP.NET引擎可以忽略,那么还存在标记之间的命名空间冲突和future 增强的潜在问题.通过要求<runat="server">
属性,这一点被否定.
它接着说:
如果所有客户端标记都需要
<runat=client>
,解析器将需要解析所有标记并go 掉<runat=client>
部分.
他接着说:
目前,