Web网络编程第一次试验:ASP.NET4.5标准控件和窗体验证

Web网络编程第一次试验:ASP.NET4.5标准控件和窗体验证

前言

为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴至CSDN中,供同学们学习参考。如有不足或描述不完善之处,敬请各位指出,欢迎各位的斧正!

一、实验目的

1.理解ASP.NET 页面事件处理流程;
2.掌握ASP.NET 标准控件的应用;
3.理解客户端和服务器端验证;
4.掌握ASP.NET各验证控件的使用。

二、实验环境

Visual Studio 2019 ASP.Net Framework

三、实验内容

1.设计并实现一个简易的计算器。
在这里插入图片描述
2.设计并实现一个查询教师课表的联动下拉列表框页面。
在这里插入图片描述
3.设计并实现一个带验证控件的用户注册页面。
在这里插入图片描述

四、代码及截图

实验一:
代码部分:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication3
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        private static int a = 0; private static string opr = "";
        private bool sinopr=false;
        private static int numa=0;
        private static int ans=0;
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            int num=1;
            a = a * 10 + num;
            TextBox1.Text = a.ToString();
        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            int num = 2;
            a = a * 10 + num;
            TextBox1.Text = a.ToString();
        }
        protected void Button3_Click(object sender, EventArgs e)
        {
            int num = 3;
            a = a * 10 + num;
            TextBox1.Text = a.ToString();
        }
        protected void Button7_Click(object sender, EventArgs e)
        {
            int num = 4;
            a = a * 10 + num;
            TextBox1.Text = a.ToString();
        }
        protected void Button8_Click(object sender, EventArgs e)
        {
            int num = 5;
            a = a * 10 + num;
            TextBox1.Text = a.ToString();
        }
        protected void Button9_Click(object sender, EventArgs e)
        {
            int num = 6;
            a = a * 10 + num;
            TextBox1.Text = a.ToString();
        }

        protected void Button14_Click(object sender, EventArgs e)
        {
            int num = 0;
            a = a * 10 + num;
            TextBox1.Text = a.ToString();
        }

        

        protected void Button10_Click(object sender, EventArgs e)
        {
            int num = 7;
            a = a * 10 + num;
            TextBox1.Text = a.ToString();
        }

        protected void Button11_Click(object sender, EventArgs e)
        {
            int num = 8;
            a = a * 10 + num;
            TextBox1.Text = a.ToString();
        }

        protected void Button12_Click(object sender, EventArgs e)
        {
            int num = 9;
            a = a * 10 + num;
            TextBox1.Text = a.ToString();
        }

        protected void Button4_Click(object sender, EventArgs e)
        {
            numa = a;
            a = 0;
            opr = "+";
            sinopr = true;
            TextBox1.Text = "";
        }
        protected void Button5_Click(object sender, EventArgs e)
        {
            numa = a;
            a = 0;
            opr = "-";
            sinopr = true;
            TextBox1.Text = "";
        }

        protected void Button6_Click(object sender, EventArgs e)
        {
            numa = a;
            a = 0;
            opr = "*";
            sinopr = true;
            TextBox1.Text = "";
        }

        protected void Button13_Click(object sender, EventArgs e)
        {
            if (opr == "+") ans=a + numa;
            else if (opr == "-") ans = numa - a;
            else if (opr == "*") ans = a * numa;
            TextBox1.Text = ans.ToString();
        }
        protected void Button15_Click(object sender, EventArgs e)
        {
            a = 0; opr = ""; numa = 0; ans = 0;
            TextBox1.Text = "";
        }

        
    }
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication3.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>2021.3.15.Test</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        <asp:Label ID="Label1" runat="server" Text="简易计算器" Width="135px" style="text-align:center"></asp:Label>
    
    </div>
    <asp:TextBox ID="TextBox1" runat="server" Width="126px"></asp:TextBox>
    <br />
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="1 " Width="22px" length="20px"/>
&nbsp;<asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="2 " Width="22px" length="20px"/>
&nbsp;<asp:Button ID="Button3" runat="server" onclick="Button3_Click" Text="3 " Width="22px" length="20px"/>
    &nbsp;<asp:Button ID="Button15" runat="server" onclick="Button15_Click" Text="CE" width="36px" length="20px"/>
    &nbsp;<br />
    <asp:Button ID="Button7" runat="server" onclick="Button7_Click" Text="4 " Width="22px" length="20px"/>
&nbsp;<asp:Button ID="Button8" runat="server" onclick="Button8_Click" Text="5 " Width="22px" length="20px"/>
&nbsp;<asp:Button ID="Button9" runat="server" onclick="Button9_Click" Text="6 " Width="22px" length="20px"/>
    <br />
    <asp:Button ID="Button10" runat="server" onclick="Button10_Click" Text="7 " Width="22px" length="20px"/>
&nbsp;<asp:Button ID="Button11" runat="server" onclick="Button11_Click" Text="8 " Width="22px" length="20px"/>
&nbsp;<asp:Button ID="Button12" runat="server" onclick="Button12_Click" Text="9 " Width="22px" length="20px"/>
&nbsp;<asp:Button ID="Button14" runat="server" onclick="Button14_Click" Text="0 " Width="22px" length="20px"/>
    <br />
    <asp:Button ID="Button4" runat="server" onclick="Button4_Click" Text="+" Width="22px" length="20px"/>
&nbsp;<asp:Button ID="Button5" runat="server" Text="-" onclick="Button5_Click" Width="22px" length="20px"/>
&nbsp;<asp:Button ID="Button6" runat="server" Text="*" onclick="Button6_Click" Width="22px" length="20px"/>
&nbsp;<asp:Button ID="Button13" runat="server" onclick="Button13_Click" Text="=" Width="22px" length="20px"/>
    </form>
</body>
</html>

在这里插入图片描述

运行截图:
在这里插入图片描述

实验二:
代码部分:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace exp1._2
{
    public partial class exp1_2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
            {
                teacher();
            }
        }
        private void teacher()
        {
            switch (DropDownList3.SelectedValue)
            {
                case "计算机科学与技术学院":
                    {
                        DropDownList4.Items.Clear();
                        DropDownList4.Items.Add(new ListItem("潘平"));
                        DropDownList4.Items.Add(new ListItem("曹明"));
                        DropDownList4.Items.Add(new ListItem("陈鹤"));
                        break;
                    }
                case "数学与统计学院":
                    {
                        DropDownList4.Items.Clear();
                        DropDownList4.Items.Add(new ListItem("王雷"));
                        DropDownList4.Items.Add(new ListItem("王磊"));
                        break;
                    }
                case "物理学院":
                    {
                        DropDownList4.Items.Clear();
                        DropDownList4.Items.Add(new ListItem("赵闯"));
                        DropDownList4.Items.Add(new ListItem("赵冲"));
                        break;
                    }
                default:
                    { DropDownList4.Items.Clear(); DropDownList4.Items.Add("NULL"); break; }
            }
        }

        protected void DropDownList3_SelectedIndexChanged(object sender, EventArgs e)
        {
            teacher();
        }
    }
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="exp1-2.aspx.cs" Inherits="exp1._2.exp1_2" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Label ID="Label1" runat="server" Text="学年:"></asp:Label>
            <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true">
                <asp:ListItem>2013-2014</asp:ListItem>
                <asp:ListItem>2014-2015</asp:ListItem>
                <asp:ListItem>2015-2016</asp:ListItem>
                <asp:ListItem>2016-2017</asp:ListItem>
                <asp:ListItem>2017-2018</asp:ListItem>
            </asp:DropDownList>
            <asp:Label ID="Label2" runat="server" Text="学期:" AutoPostBack="true"></asp:Label>
            <asp:DropDownList ID="DropDownList2" runat="server">
                <asp:ListItem>1</asp:ListItem>
                <asp:ListItem>2</asp:ListItem>
                <asp:ListItem>3</asp:ListItem>
            </asp:DropDownList>
            <asp:Label ID="Label3" runat="server" Text="分院:"></asp:Label>
            <asp:DropDownList ID="DropDownList3" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownList3_SelectedIndexChanged">
                <asp:ListItem>计算机科学与技术学院</asp:ListItem>
                <asp:ListItem>数学与统计学院</asp:ListItem>
                <asp:ListItem>物理学院</asp:ListItem>
            </asp:DropDownList>
            <asp:Label ID="Label4" runat="server" Text="教师:" AutoPostBack="true"></asp:Label>
            <asp:DropDownList ID="DropDownList4" runat="server" >
                <asp:ListItem>NULL</asp:ListItem>
            </asp:DropDownList>
        </div>
    </form>
</body>
</html>

在这里插入图片描述

运行截图:

在这里插入图片描述

实验三:
代码部分:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace exp1._2
{
    public partial class exp1_3_1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            UnobtrusiveValidationMode = UnobtrusiveValidationMode.None;
        }

        protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
        {
            string cid = args.Value;
            args.IsValid = true;
            try
            { DateTime.Parse(cid.Substring(6, 4) + "-" + cid.Substring(10, 2) + "-" + cid.Substring(12, 2)); }
            catch
            {
                args.IsValid = false;
            }
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            Label12.Text = "";
            if(Page.IsValid)
            {
                Label12.Text = "验证通过!";
            }
        }
    }
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="exp1-3-1.aspx.cs" Inherits="exp1._2.exp1_3_1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Label ID="Label1" runat="server" Text="用户名:" Width="80px"></asp:Label>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="请输入用户名!" ControlToValidate="TextBox1" Display="Dynamic"  SetFocusOnError="true" >*</asp:RequiredFieldValidator>
            <br />
            <asp:Label ID="Label3" runat="server" Text="密码:" Width="80px"></asp:Label>
            <asp:TextBox ID="TextBox2" runat="server" TextMode="Password"></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="请输入密码!" Display="Dynamic" ControlToValidate="TextBox2" SetFocusOnError="true" >*</asp:RequiredFieldValidator>
            <br />
            <asp:Label ID="Label5" runat="server" Text="确认密码:" Width="80px"></asp:Label>
            <asp:TextBox ID="TextBox3" runat="server" TextMode="Password"></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="请输入确认密码!" ControlToValidate="TextBox3" Display="Dynamic" SetFocusOnError="true">*</asp:RequiredFieldValidator>
            <asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="密码与确认密码不一致!" ControlToCompare="TextBox2" ControlToValidate="TextBox3" Display="Dynamic" SetFocusOnError="true" ></asp:CompareValidator>
            <br />
            <asp:Label ID="Label7" runat="server" Text="生日:" Width="80px"></asp:Label>
            <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ErrorMessage="请输入生日!" ControlToValidate="TextBox4" Display="Dynamic" SetFocusOnError="true">*</asp:RequiredFieldValidator>
            <asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="日期应在1900-1-1到2021-1-1之间" ControlToValidate="TextBox4" Display="Dynamic"  MaximumValue="2020-1-1" MinimumValue="1900-1-1" SetFocusOnError="true" Type="Date"></asp:RangeValidator>
            <br />
            <asp:Label ID="Label9" runat="server" Text="电话号码:" Width="80px"></asp:Label>
            <asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ErrorMessage="请输入电话号码!" ControlToValidate="TextBox5" Display="Dynamic" SetFocusOnError="true" >*</asp:RequiredFieldValidator>   
            <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="电话号码格式应为010-12345678!" ControlToValidate="TextBox5" Display="Dynamic" ValidationExpression="\d{3}-\d{8}" SetFocusOnError="true"></asp:RegularExpressionValidator>
            <br />
            <asp:Label ID="Label11" runat="server" Text="身份证号:" Width ="80px"></asp:Label>
            <asp:TextBox ID="TextBox6" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ErrorMessage="请输入身份证号!" ControlToValidate="TextBox6" Display="Dynamic" SetFocusOnError="true">*</asp:RequiredFieldValidator>
            <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="身份证号错误!" ControlToValidate="TextBox6" Display="Dynamic"  SetFocusOnError="true" OnServerValidate="CustomValidator1_ServerValidate"></asp:CustomValidator>
        </div>
        <asp:Button ID="Button1" runat="server" Text="确定" OnClick="Button1_Click" Width="50px" />
        <br />
        <asp:Label ID="Label12" runat="server" Width="80px"></asp:Label>
        <br />
        <asp:ValidationSummary ID="ValidationSummary1" runat="server"   ShowMessageBox="true" ShowSummary="false"/>
    </form>
</body>
</html>

在这里插入图片描述
运行截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、实验总结

在实验一的编程过程中,出现了运行时按钮字符不居中的情况,界面效果令人不甚满意。在经过查阅资料并进行多次调试与改进后,我们调整了按钮的大小(即长度与宽度),并最终达到了较为满意的界面效果。

  • 4
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Knight_V_Schumacher

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值