ASP.NET Web Forms - HTML 表单


ASP.NET Web Forms - HTML 表单

ASP.NET Web Forms 是一种基于服务器的 Web 应用程序开发框架,它提供了一种构建交互式 Web 应用程序的有效方式。其中,HTML 表单是一种非常常见的交互元素,它允许用户输入数据以执行操作或提交数据。

HTML 表单 vs ASP.NET Web Forms

HTML 表单与 ASP.NET Web Forms 之间的主要区别在于,ASP.NET Web Forms 表单提供了更丰富的功能和控制,以及更容易的表单验证、数据绑定和数据处理功能。此外,ASP.NET Web Forms 提供了更好的安全性和可维护性,包括防止 XSS 攻击和 CSRF 攻击等常见安全威胁。

建立 HTML 表单

HTML 表单由一些输入元素组成,如文本输入框、下拉框、单选按钮和复选框等。要创建 HTML 表单,我们首先需要给表单设置 action 属性,它表示数据提交的目标网址,并设置 method 属性,可以是 GET 或 POST 方法。然后,我们必须使用各种表单元素来输入数据,以及一个提交按钮。

以下是一个 ASP.NET Web Forms 中的 HTML 表单示例:

<form action="MyPage.aspx" method="post">
  <label for="name">Name:</label>
  <input type="text" name="name" id="name"><br>
  <label for="email">Email:</label>
  <input type="email" name="email" id="email"><br>
  <label for="birthday">Birthday:</label>
  <input type="date" name="birthday" id="birthday"><br>
  <input type="submit" value="Submit">
</form>

处理表单数据

当我们提交表单时,表单数据将发送到指定的 action 目标页面。此时,我们需要处理这些数据并根据需要执行操作。如下所示,我们可以通过访问 Request 对象来获取表单数据:

string name = Request.Form["name"];
string email = Request.Form["email"];
DateTime birthday = Convert.ToDateTime(Request.Form["birthday"]);

我们可以使用这些数据进行各种操作,例如将数据写入数据库,发送电子邮件,或跳转到其他页面。

表单验证

表单验证是一个非常重要的步骤,它可以确保用户提交的数据在格式和内容上是正确的。ASP.NET Web Forms 提供了许多用于验证表单数据的内置验证控件,如 RequiredFieldValidator、RegularExpressionValidator 和 CompareValidator 等。我们可以使用这些控件来验证输入数据,并在表单提交之前提供有关任何错误的详细信息。

以下示例演示如何使用 RequiredFieldValidator 验证表单输入:

<label for="name">Name:</label>
<input type="text" name="name" id="name">
<asp:RequiredFieldValidator
  runat="server"
  ControlToValidate="name"
  ErrorMessage="Name is required." />

在这里,我们使用 RequiredFieldValidator 来验证“name”字段是否已填写。如果未填写,则将显示错误消息“Name is required.”。

数据绑定

ASP.NET Web Forms 还提供了数据绑定功能,它允许我们将表单数据与数据源(如数据库或 XML 文件)链接起来。这可以有效地消除编写大量代码来从数据源中检索数据的需求,因为数据绑定控件可以自动完成这些操作。

以下示例演示如何使用 DropDownList 控件绑定数据源:

<asp:DropDownList
  runat="server"
  ID="myDropDownList"
  DataSourceID="myDataSource"
  DataTextField="ProductName"
  DataValueField="ProductID" />

<asp:SqlDataSource
  runat="server"
  ID="myDataSource"
  ConnectionString="<%$ ConnectionStrings:MyConnectionString %>"
  SelectCommand="SELECT ProductID, ProductName FROM Products" />

在这里,我们使用 DropDownList 控件和 SqlDataSource 控件。DropDownList 控件将使用数据源中的 ProductName 字段来显示商品名称,同时使用 ProductID 字段提供唯一的产品标识符。

总结

HTML 表单是 Web 应用程序中不可或缺的一部分,它允许用户输入数据并执行操作。在 ASP.NET Web Forms 中,我们可以使用各种控件来自定义表单并添加功能。此外,我们还可以使用验证和数据绑定功能,来确保表单数据的准确性和一致性。