gpt4 book ai didi

asp.net - html控件和asp.net web控件

转载 作者:行者123 更新时间:2023-12-04 15:05:07 25 4
gpt4 key购买 nike

我想知道 Html 控件之间到底有什么区别

和asp.net 网络控制。为什么我们需要这两种类型的控件?

我在我的网页上放置了一个 html 输入文本、html 按钮和 asp.net 文本框和 ASP.NET 按钮

    <input id="Text1"    type="text" />

<input id="Button2" type="button" value="button" />







<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

<asp:Button ID="Button1" runat="server" Text="Button" />

当我查看源代码时,两者的呈现方式相似
    <input id="Text1"    type="text" />

<input id="Button2" type="button" value="button" />




<input name="TextBox1" type="text" id="TextBox1" />

<input type="submit" name="Button1" value="Button" id="Button1" />

Web 控件相对于 html 控件的优势是什么。

我在互联网上找到了一些链接,但不清楚具体是什么

它们用于。

http://www.extremeexperts.com/Net/FAQ/DiffBetweenServerandHTMLControls.aspx .

任何人都可以解释这两个控件之间的区别。

最佳答案

首先,如果像示例中那样将 Html 控件从工具箱拖到设计图面上,则创建的标记不包含 runat="server"。这意味着它是 native Html 标记而不是 .NET 控件。没有 runat="server"的 native Html 标记没有服务器端功能。因此,您无法在代码隐藏中设置“Text1”输入标签的值。

其次,一旦您将 runat="server"添加到您的 Html 输入标记,您就可以将它从 native Html 标记转换为派生自 System.Web.UI.Control 的 HtmlControl。现在问题可能会演变为派生自 System.Web.UI.Control 和 System.Web.UI.WebControl 的事物之间的差异。但是,为了专门解决您的问题,让我们将标准输入 type="text"控件与 TextBox 控件进行比较:

  • TextBox 控件可以从代码隐藏中访问,其中输入控件不能(不容易),这也意味着您可以为 TextBox 控件连接服务器端事件,而不能使用标准 Html 控件。
  • TextBox 控件使用 ViewState 自动保存其值。
  • 可以使用 Theme 和 .skin 文件为 TextBox 控件设置外观,而 native Html 控件则不能。
  • TextBox 可以呈现为 input type="text"控件或文本区域,具体取决于其 TextMode 属性。
  • TextBox 控件可以使用验证器参与验证。
  • 最后但并非最不重要的一点是,如果需要,TextBox 控件可以使用控件适配器在不同的浏览器中呈现不同的效果。见 http://msdn.microsoft.com/en-us/magazine/cc163543.aspx .

  • 现在,综上所述,如果您不需要任何 WebControl 功能,那么使用 native Html 控件会更加精简。在您的示例中,您只需将两个空控件拖到您的设计图面上。如果这就是您所需要的,那么使用 .NET 控件将是矫枉过正。但是,当您开始添加 AutoComplete 和服务器端事件等时,进入浏览器的全部内容、Javascript 和所有内容要大得多。

    关于asp.net - html控件和asp.net web控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2323788/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com