【发布时间】:2011-10-22 13:34:28
【问题描述】:
我是 Web 编程新手,我从 ASP.NET 2.0 开始。我想知道使用 HTML 控件而不是 ASP 控件时有什么区别,我也想知道 runat="server" 属性是如何工作的。
【问题讨论】:
-
仅供参考,没有“ASP 控件”之类的东西。毫无疑问,您指的是网络控件。
标签: asp.net
我是 Web 编程新手,我从 ASP.NET 2.0 开始。我想知道使用 HTML 控件而不是 ASP 控件时有什么区别,我也想知道 runat="server" 属性是如何工作的。
【问题讨论】:
标签: asp.net
这些是asp.net控件和html控件的区别
HTML 服务器控件:是服务器可以理解的 HTML 标记。
默认情况下,ASP.NET 文件中的 HTML 元素被视为文本。要使这些元素可编程,请将runat="server" 属性添加到 HTML 元素。这个attribute 表示该元素应被视为服务器控件。添加 id 属性以标识服务器控件。 id 引用可用于在运行时操作服务器控件。
注意:所有 HTML 服务器控件必须在
例如:
< input type="text" id="id1" runat="server" /> 它会起作用的。
HtmlTextControl类
< input type="button" id="id2" runat="sever" /> 不行。
对于 html 按钮控件,没有兼容版本的控件类。
更正一个是
< input type="submit" id="id2" runat="server" />
htmlButton类
< input type="reset" id="id2" runat="sever" />这个不行。
Web 服务器控件是服务器理解的特殊 ASP.NET 标记。
与 HTML 服务器控件一样,Web 服务器控件也是在 server 并且它们需要 runat="server" 属性才能工作。然而, Web 服务器控件不一定映射到任何现有的 HTML 元素,它们可能代表更复杂的元素。
创建 Web 服务器控件的语法是:
< asp:textbox id="Textbox1" runat="server" />
这些也是不区分大小写的。这里重要的是强制写入runat="server"。对于 HTML 控件,这是可选的。
所有 HTML 控件的属性也可用于这些带有 asp 标记的服务器控件。还有一些特殊属性,我们将在 Ajax 中讨论特殊属性。
【讨论】:
runat="server" 声明一个表单元素并将一个文本框声明为<input type="text" />(没有runat="server")会发生什么?
我认为最大的区别在于 ASP.NET 控件在服务器上执行,生成的 HTML 发送到客户端,并且 ASP .NET 服务器控件可以检测目标浏览器的功能并相应地呈现自己。
【讨论】:
runat="server" 声明一个表单元素并将一个文本框声明为<input type="text" />(没有runat="server")会发生什么?