【问题标题】:ASP control vs HTML controlASP 控件与 HTML 控件
【发布时间】:2011-10-22 13:34:28
【问题描述】:

我是 Web 编程新手,我从 ASP.NET 2.0 开始。我想知道使用 HTML 控件而不是 ASP 控件时有什么区别,我也想知道 runat="server" 属性是如何工作的。

【问题讨论】:

标签: asp.net


【解决方案1】:

这些是asp.net控件和html控件的区别

  • HTML 服务器控件:

HTML 服务器控件:是服务器可以理解的 HTML 标记。

默认情况下,ASP.NET 文件中的 HTML 元素被视为文本。要使这些元素可编程,请将runat="server" 属性添加到 HTML 元素。这个attribute 表示该元素应被视为服务器控件。添加 id 属性以标识服务器控件。 id 引用可用于在运行时操作服务器控件。

注意:所有 HTML 服务器控件必须在

标记内,并带有 runat="server" 属性。 runat="server" 属性表示 表格应在服务器上处理。这也表明, 服务器脚本可以访问封闭的控件。

例如: < input type="text" id="id1" runat="server" /> 它会起作用的。 HtmlTextControl类

< input type="button" id="id2" runat="sever" /> 不行。 对于 html 按钮控件,没有兼容版本的控件类。

更正一个是

< input type="submit" id="id2" runat="server" />

htmlButton类

&lt; input type="reset" id="id2" runat="sever" /&gt;这个不行。

  • ASP.NET - Web 服务器控件

Web 服务器控件是服务器理解的特殊 ASP.NET 标记。

与 HTML 服务器控件一样,Web 服务器控件也是在 server 并且它们需要 runat="server" 属性才能工作。然而, Web 服务器控件不一定映射到任何现有的 HTML 元素,它们可能代表更复杂的元素。

创建 Web 服务器控件的语法是:

< asp:textbox id="Textbox1" runat="server" />

这些也是不区分大小写的。这里重要的是强制写入runat="server"。对于 HTML 控件,这是可选的。

所有 HTML 控件的属性也可用于这些带有 asp 标记的服务器控件。还有一些特殊属性,我们将在 Ajax 中讨论特殊属性。

【讨论】:

  • 你能请你使用哪一个吗?为什么?我在一本书中读到微软试图将其桌面编程带到网络上,这就是为什么我们拥有那些代表程序员生成 HTML 的服务器控制,但现在每个程序员都应该控制它的 html、css 和 javascript .当使用带有 前缀的控件时,我们无法做到这一点。
  • 那么如果我用runat="server" 声明一个表单元素并将一个文本框声明为&lt;input type="text" /&gt;(没有runat="server")会发生什么?
【解决方案2】:

我认为最大的区别在于 ASP.NET 控件在服务器上执行,生成的 HTML 发送到客户端,并且 ASP .NET 服务器控件可以检测目标浏览器的功能并相应地呈现自己。

【讨论】:

  • 那么如果我用runat="server" 声明一个表单元素并将一个文本框声明为&lt;input type="text" /&gt;(没有runat="server")会发生什么?
猜你喜欢
  • 1970-01-01
  • 2010-10-21
  • 2018-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多