在ASP.NET WebForms中,表单是Web应用程序与用户进行交互的重要组成部分。WebForms使用<form runat="server">元素表示Web表单,其中包含各种服务器控件用于接收用户输入。以下是关于WebForms表单的基本信息:

1. WebForms 表单基本结构
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyPage.aspx.cs" Inherits="MyNamespace.MyPage" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>WebForms Form</title>
</head>
<body>
    <form id="form1" runat="server">
        <!-- 表单内容 -->
    </form>
</body>
</html>

  •  <form runat="server">:定义服务器端表单,使得表单元素能够与服务器端进行交互。


2. WebForms 表单控件

在WebForms表单中,可以使用各种服务器控件,如文本框、按钮、下拉列表等,以便与用户进行交互。

示例 - 文本框和按钮:
<asp:TextBox runat="server" ID="txtUserName" />
<asp:Button runat="server" ID="btnSubmit" Text="Submit" OnClick="btnSubmit_Click" />

3. 事件处理

WebForms表单中的服务器控件可以响应各种事件,例如按钮的点击事件。通过在控件上声明相应的事件处理程序,可以在服务器端处理用户的交互。

示例 - 按钮点击事件:
<asp:Button runat="server" ID="btnSubmit" Text="Submit" OnClick="btnSubmit_Click" />
protected void btnSubmit_Click(object sender, EventArgs e)
{
    // 处理按钮点击事件的逻辑
}

4. 数据绑定

一些WebForms控件,如GridView,允许进行数据绑定,将数据呈现到页面上。

示例 - GridView 数据绑定:
<asp:GridView runat="server" ID="gridUsers">
    <!-- 列定义等 -->
</asp:GridView>
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // 数据绑定逻辑
        gridUsers.DataSource = GetUserData();
        gridUsers.DataBind();
    }
}

private DataTable GetUserData()
{
    // 模拟获取用户数据的逻辑
    DataTable dt = new DataTable();
    // 填充数据到 DataTable
    return dt;
}

5. ViewState

WebForms使用 ViewState 来跟踪页面上的控件状态,以便在回发(postback)过程中恢复页面的状态。这对于保持页面的动态性和用户交互状态非常有用。

6. 防跨站请求伪造(CSRF)令牌

在WebForms中,可以使用 <asp:__RequestVerificationToken> 控件生成防跨站请求伪造(CSRF)令牌,以提高安全性。
<asp:__RequestVerificationToken runat="server" />

这是WebForms表单的一些基本概念,表单是Web应用程序中与用户进行交互的重要组成部分,WebForms通过服务器控件和事件模型提供了丰富的功能以简化表单的开发。但需要注意,WebForms相对于现代的ASP.NET MVC和ASP.NET Core来说,可能显得较为重量级,开发者在使用时需要权衡其优劣。


转载请注明出处:http://www.pingtaimeng.com/article/detail/14875/ASP.NET Razor 标记