(1)在aspx页面中使用标签控件、文本控件、按钮控件、列表控件、图片控件、文件上传控件、验证控件 。 (2)给每个控件制定校验规则并在提交表单时进行校验,校验通过后才可提交到后台,后台接收到表单数据后,把数据打印到控制台(文件控件不需要打印)。
时间: 2023-12-16 13:06:43 浏览: 94
好的,这个问题涉及到 ASP.NET Web Forms 的开发。我会给出一个简单的示例代码,方便您参考。
首先,我们需要在 aspx 页面中添加各种控件。示例代码如下:
```html
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="姓名"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="请输入姓名"></asp:RequiredFieldValidator>
<br />
<asp:Label ID="Label2" runat="server" Text="性别"></asp:Label>
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
<asp:ListItem Text="男" Value="M"></asp:ListItem>
<asp:ListItem Text="女" Value="F"></asp:ListItem>
</asp:RadioButtonList>
<br />
<asp:Label ID="Label3" runat="server" Text="年龄"></asp:Label>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="TextBox2" Type="Integer" MinimumValue="18" MaximumValue="60" ErrorMessage="年龄必须在18-60岁之间"></asp:RangeValidator>
<br />
<asp:Label ID="Label4" runat="server" Text="爱好"></asp:Label>
<asp:CheckBoxList ID="CheckBoxList1" runat="server">
<asp:ListItem Text="阅读" Value="read"></asp:ListItem>
<asp:ListItem Text="旅游" Value="travel"></asp:ListItem>
<asp:ListItem Text="运动" Value="sports"></asp:ListItem>
</asp:CheckBoxList>
<br />
<asp:Label ID="Label5" runat="server" Text="照片"></asp:Label>
<asp:FileUpload ID="FileUpload1" runat="server"></asp:FileUpload>
<br />
<asp:Button ID="Button1" runat="server" Text="提交" OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
```
在这个页面中,我们使用了标签控件(`<asp:Label>`)、文本控件(`<asp:TextBox>`)、按钮控件(`<asp:Button>`)、列表控件(`<asp:RadioButtonList>` 和 `<asp:CheckBoxList>`)、图片控件(`<asp:FileUpload>`)和验证控件(`<asp:RequiredFieldValidator>` 和 `<asp:RangeValidator>`)。
其中,验证控件用于对用户输入的数据进行校验。`<asp:RequiredFieldValidator>` 控件用于检查某个输入框是否为空,`<asp:RangeValidator>` 控件用于检查某个输入框是否在指定的范围内。校验规则可以通过属性设置来指定,比如 `ControlToValidate` 属性用于指定要校验的控件,`ErrorMessage` 属性用于指定校验失败时的提示信息,等等。
在提交表单时,我们需要先进行校验。代码如下:
```csharp
protected void Button1_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
string name = TextBox1.Text;
string gender = RadioButtonList1.SelectedValue;
int age = int.Parse(TextBox2.Text);
string[] hobbies = CheckBoxList1.Items.Cast<ListItem>()
.Where(item => item.Selected)
.Select(item => item.Value)
.ToArray();
Console.WriteLine($"姓名:{name}");
Console.WriteLine($"性别:{gender}");
Console.WriteLine($"年龄:{age}");
Console.WriteLine($"爱好:{string.Join(",", hobbies)}");
}
}
```
在这个方法中,我们首先判断页面是否通过了校验,如果通过了就获取各个控件的值,然后将这些值打印到控制台中(这里只是一个示例,实际应用中可能会将数据保存到数据库或发送到其他系统中)。注意,文件上传控件不需要打印到控制台,因为它的值已经被保存到服务器上了。
这样,我们就完成了这个问题的要求。当用户提交表单时,会先进行校验,校验通过后才会将数据提交到后台,并将数据打印到控制台中。
阅读全文