📜  为什么要使用 ASP.NET 服务器控件代替 HTML 控件?

📅  最后修改于: 2022-05-13 01:54:30.535000             🧑  作者: Mango

为什么要使用 ASP.NET 服务器控件代替 HTML 控件?

基本上 HTML 控件是客户端控件,而 ASP.NET 控件是服务器端控件。

我们更喜欢 ASP.NET 控件作为我们的 Web 控件。与 HTML 控件一样,我们无法维护状态,即数据丢失,我们可以说它不提供状态管理。在编写代码时,我们无法从文件后面的代码访问 HTML 控件。

因此,即使客户端执行速度很快,由于上述两个原因,我们只更喜欢 ASP.NET。 HTML 控件甚至不支持面向对象范式,并且它的属性和方法集有限,而 ASP.NET 完全支持面向对象范式,并且可以从文件背后的代码直接访问它,并且它具有一组丰富的属性和方法。

  • ASP.NET:ASP.NET是一个用于 Web 开发的服务器端框架,它以最少的代码提供开发企业级 Web 应用程序所需的服务。它包含在 .NET 框架中,因此在编写 ASP.NET 代码时,它可以访问 .NET 框架中存在的所有内置类。它具有更好的用户身份验证。它使用编译后的代码,这反过来又提高了应用程序的性能。 ASP.NET 页在服务器上作为代码运行。该页面的配置方式是,当用户单击按钮时,它会被提交到服务器。当页面刷新并提交回自身时,它会再次运行 ts 服务器代码并将自身的新版本呈现给用户。通常,Web 窗体页面在服务器上编译为页面对象,并将它们缓存在服务器内存中。 ASP.NET 页面是页面中所有服务器端控件和编写在其后面的代码文件中的事件处理代码的组合,因此页面作为一个单元执行。当用户第一次请求页面时,页面被动态编译并被执行。因此不需要将页面预编译为程序集。 ASP.NET 服务器控件由抽象的强类型对象模型控制。它们可以从工具箱中拖放到 .aspx 页面上。我们还可以为其添加特殊控件,例如日历控件和验证控件。
  • NameSpace:我们为 Web 控件使用以下命名空间: System.Web.UI.WebControls服务器控件旨在使开发工具和应用程序更容易。创建 Web 表单的过程现在更加高效和简单。常用的 Web 服务器控件有 TextBox、Lable、Button、CheckBox、RadioButton、GridView
  • 验证控制:在从用户端获取数据条目时,验证数据非常重要。除了客户端之外,还应该在服务器端进行验证。验证控件通常放置在它们正在验证的控件旁边。验证控件在回发过程之前在客户端验证数据。验证控件放置在 Web 表单上,然后将其 ControlToValidate 属性设置为要验证的控件。 Validation Summary 控件用于同时显示所有控件的与验证相关的错误消息,即在一处显示。我们甚至需要提供一个控件,例如触发回发事件的按钮。因为虽然验证发生在客户端,但验证过程甚至在请求回发之前都不会开始。
  • 状态管理:状态管理是一种机制,它允许您维护针对相同或不同页面的多个请求的状态和页面信息。在 ASP.NET 中开发的网页是基于 HTTP 的,而 HTTP 协议是一种无状态协议。为了克服这个限制,ASP.NET 支持多种概念来保存称为状态管理的数据。 ASP.NET 为状态管理提供了不同的替代方案,它们是客户端、服务器端。在客户端,我们使用 ViewState、隐藏字段、Cookies、查询字符串。而在服务器端,我们使用应用程序、会话、数据库来存储数据。