WebForms 实例学习笔记
简介
WebForms 是一种基于 ASP.NET 技术的 Web 应用开发框架,它使用了一些特定的控件和技术,可以帮助开发者在 Web 应用中方便地创建表单、数据绑定、用户输入验证等功能。在本文中,我们将介绍 WebForms 开发中的一些实例。
创建表单
通过 WebForms,我们可以轻松地创建包含多个表单元素的表单,如文本框、复选框和下拉列表等。以下是一个简单的表单示例:
htmlCopy Code<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html>
<head>
<title>WebForms 表单示例</title>
</head>
<body>
<form runat="server">
<label for="txtName">姓名:</label>
<input type="text" id="txtName" name="txtName" runat="server" /><br />
<label for="chkGender">性别:</label>
<input type="checkbox" id="chkMale" name="chkGender" value="male" runat="server" />
<label for="chkMale">男</label>
<input type="checkbox" id="chkFemale" name="chkGender" value="female" runat="server" />
<label for="chkFemale">女</label><br />
<label for="ddlCity">城市:</label>
<select id="ddlCity" name="ddlCity" runat="server">
<option value="">请选择城市</option>
<option value="beijing">北京</option>
<option value="shanghai">上海</option>
<option value="guangzhou">广州</option>
<option value="shenzhen">深圳</option>
</select><br />
<input type="submit" id="btnSubmit" value="提交" runat="server" />
</form>
</body>
</html>
在上面的示例中,我们使用了 <form>
标签来创建一个表单,然后使用了一些带有 runat="server"
属性的 HTML 元素,这些元素可以被服务器端代码访问和处理。
数据绑定
WebForms 提供了多种数据绑定技术,可以将数据源中的数据绑定到各种控件中,如下拉列表、列表框、数据网格等。以下是一个简单的数据绑定示例:
htmlCopy Code<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html>
<head>
<title>WebForms 数据绑定示例</title>
</head>
<body>
<form runat="server">
<label for="ddlCity">选择城市:</label>
<select id="ddlCity" name="ddlCity" runat="server" OnSelectedIndexChanged="ddlCity_SelectedIndexChanged" AutoPostBack="True">
<asp:ListItem Text="--请选择--" Value="" />
<asp:ListItem Text="北京" Value="bj" />
<asp:ListItem Text="上海" Value="sh" />
<asp:ListItem Text="广州" Value="gz" />
<asp:ListItem Text="深圳" Value="sz" />
</select><br />
<asp:Label ID="lblCityInfo" runat="server"></asp:Label>
</form>
<script runat="server">
protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e)
{
string cityValue = ddlCity.SelectedValue;
if (cityValue == "bj")
{
lblCityInfo.Text = "北京是中国的首都。";
}
else if (cityValue == "sh")
{
lblCityInfo.Text = "上海是中国的经济中心。";
}
else if (cityValue == "gz")
{
lblCityInfo.Text = "广州有着丰富的美食文化。";
}
else if (cityValue == "sz")
{
lblCityInfo.Text = "深圳是中国的科技创新中心。";
}
else
{
lblCityInfo.Text = "";
}
}
</script>
</body>
</html>
在上面的示例中,我们使用了 <asp:ListBox>
控件,其中的 <asp:ListItem>
元素表示了列表中的每个选项。当用户选择一个选项时,服务器端代码会触发一个 SelectedIndexChanged
事件,我们可以在事件处理程序中根据选择的值来显示城市信息。
用户输入验证
WebForms 还提供了许多用户输入验证控件,如必填字段验证、正则表达式验证、比较验证等。以下是一个简单的验证示例:
htmlCopy Code<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html>
<head>
<title>WebForms 验证示例</title>
</head>
<body>
<form runat="server">
<asp:Label ID="lblUserName" Text="用户名:" runat="server"></asp:Label>
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox><br />
<asp:RequiredFieldValidator ID="rfvUserName" ControlToValidate="txtUserName" ErrorMessage="用户名不能为空" runat="server"></asp:RequiredFieldValidator><br />
<asp:Label ID="lblPassword" Text="密码:" runat="server"></asp:Label>
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox><br />
<asp:RegularExpressionValidator ID="revPassword" ControlToValidate="txtPassword" ValidationExpression="^[a-z0-9A-Z]{6,12}$" ErrorMessage="密码必须为6~12位的字母和数字" runat="server"></asp:RegularExpressionValidator><br />
<asp:Label ID="lblConfirmPassword" Text="确认密码:" runat="server"></asp:Label>
<asp:TextBox ID="txtConfirmPassword" runat="server" TextMode="Password"></asp:TextBox><br />
<asp:CompareValidator ID="cvConfirmPassword" ControlToValidate="txtConfirmPassword" ControlToCompare="txtPassword" Type="String" ErrorMessage="两次输入的密码不一致" runat="server"></asp:CompareValidator><br />
<asp:Button ID="btnSubmit" Text="提交" runat="server" OnClick="btnSubmit_Click" />
</form>
<script runat="server">
protected void btnSubmit_Click(object sender, EventArgs e)
{
Response.Write("用户名:" + txtUserName.Text + "<br />");
Response.Write("密码:" + txtPassword.Text + "<br />");
Response.Write("确认密码:" + txtConfirmPassword.Text + "<br />");
}
</script>
</body>
</html>
在上面的示例中,我们使用了三个验证控件分别验证了用户名、密码和确认密码三个字段。当用户点击提交按钮时,服务器端代码会输出用户输入的各个字段值。
结语
WebForms 是一个非常强大的 Web 应用开发框架,本文介绍了其中的一些实例,希望能对你的学习有所帮助。如果您对 WebForms 感兴趣,可以深入研究一下相关技术,提高自己的开发水平。