ASP.NET WebForms 提供了一系列服务器控件,这些控件是用于构建Web应用程序的元素。这些服务器控件通过ASP.NET WebForms页面的代码部分进行声明和操作,为开发者提供了一种更高级别的抽象,以便管理Web页面的生命周期、状态和用户交互。以下是一些常见的WebForms控件:

1. 标准 HTML 控件

  •  <asp:Label>: 用于显示文本。
    <asp:Label runat="server" ID="lblMessage" Text="Welcome!" />

  •  <asp:TextBox>: 用于输入文本。
    <asp:TextBox runat="server" ID="txtUserName" />

  •  <asp:Button>: 用于触发服务器端事件。
    <asp:Button runat="server" ID="btnSubmit" Text="Submit" OnClick="btnSubmit_Click" />

2. 数据控件

  •  <asp:GridView>: 用于显示和编辑数据表格。
    <asp:GridView runat="server" ID="gridUsers" AutoGenerateColumns="False">
        <Columns>
            <asp:BoundField DataField="UserName" HeaderText="Username" />
            <asp:BoundField DataField="Email" HeaderText="Email" />
        </Columns>
    </asp:GridView>

  •  <asp:DropDownList>: 用于显示下拉列表框。
    <asp:DropDownList runat="server" ID="ddlRoles">
        <asp:ListItem Text="Admin" Value="Admin" />
        <asp:ListItem Text="User" Value="User" />
    </asp:DropDownList>

3. 控件容器

  •  <asp:Panel>: 用于组织和样式化其他控件。
    <asp:Panel runat="server" ID="pnlContainer">
        <!-- 包含其他控件的代码 -->
    </asp:Panel>

  •  <asp:UpdatePanel>: 用于实现部分页面更新,通过Ajax异步刷新内容。
    <asp:UpdatePanel runat="server" ID="updPanel" UpdateMode="Conditional">
        <ContentTemplate>
            <!-- 包含需要异步更新的内容 -->
        </ContentTemplate>
    </asp:UpdatePanel>

4. 用户交互控件

  •  <asp:Calendar>: 用于显示日期选择器。
    <asp:Calendar runat="server" ID="calDatePicker" />

  •  <asp:FileUpload>: 用于上传文件。
    <asp:FileUpload runat="server" ID="fileUploader" />

5. 验证控件

  •  <asp:RequiredFieldValidator>: 用于强制输入必填字段。
    <asp:RequiredFieldValidator runat="server" ID="rfvUserName" ControlToValidate="txtUserName" ErrorMessage="Username is required." />

  •  <asp:RegularExpressionValidator>: 使用正则表达式验证输入。
    <asp:RegularExpressionValidator runat="server" ID="revEmail" ControlToValidate="txtEmail" ErrorMessage="Invalid email format." ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" />

这只是一小部分可用的WebForms控件。WebForms控件提供了丰富的功能和事件,可以通过服务器端代码进行灵活的操作。但需要注意,WebForms的控件模型相对于现代的ASP.NET MVC和ASP.NET Core来说可能显得较为重量级,使用时需要权衡其优劣。


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