C#实验一 准备工作(第一阶段)

实验一

创建一个ASP.NET Web网站,用以实现在线知识问答。
1)第一次在浏览器中查看的页面如图1所示。
2) “知识类型”下拉列表中至少有三个选项;当选中“人文知识”选项,且按下“开始答题”按钮后,回传的页面及显示的内容如图2所示。
3)答题完毕,按下“提交”按钮后,可计算得分,会在页面下方显示得分及正确答案,如图3所示。要求:以编程方式,向页面动态添加Label控件,实现得分及答案的显示,具体做法详见教材P80~81。
4)可选Web控件如下:
DropDownList:输入知识类型信息
TextBox:输入姓名及编号等信息
RadioButton或RadioButtonList:制作单选题选项
CheckBox或CheckBosList:制作多选题选项
Button:“开始答题”及“提交”按钮
Panel:可用装载题目,其Visible属性初始为 false,使得“开始答题”按钮按下前题目不可见。
5)(选作)在页面下方再添加两个按钮,分别为“退出”和“重新答题”。用Button控件实现这两个按钮,并设置这两个Button控件的CommandName属性,将其设置为命令按钮,在同一个事件处理方法中编写这两个按钮的事件处理程序。当按下“退出”按钮后,网页跳转到另一页面,如图4所示。当按下“重新答题”按钮后,页面的题目隐藏,并且三个文本框的内容清空。

<body>
    <form id="form1" runat="server">
        <div>
            <h1 style="text-align:center">在线知识问答系统</h1>
            <p style="text-align:center">姓名:<asp:TextBox ID="UsersName" runat="server"></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate ="UsersName" ErrorMessage="空"></asp:RequiredFieldValidator>
            </p>
            <p style="text-align:center">编号:<asp:TextBox ID="UsersNumber" runat="server"></asp:TextBox>
                <asp:RegularExpressionValidator ID="RegularExpressionValidator2" ControlToValidate="UsersNumber" ValidationExpression="\d{8}" ErrorMessage="8" runat="server" />
            </p>
            <p style="text-align:center">Email:<asp:TextBox ID="UsersEmail" runat="server"></asp:TextBox>
                <asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="UsersEmail" ValidationExpression="^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$" ErrorMessage="错" runat="server" />
            </p>
            <p style="text-align:center">请选择知识类型?<asp:DropDownList ID="Knowledge" runat="server" >
            <asp:ListItem>人文知识1</asp:ListItem>
            <asp:ListItem>人文知识2</asp:ListItem>
            <asp:ListItem Selected="True">人文知识3</asp:ListItem>
            </asp:DropDownList></p>
            <p style="text-align:center"><asp:Button ID="Button1" runat="server" oncommand="btn1_Click" Text="开始答题" CommandName="btn1" /></p>
            <p style="text-align:center"><asp:Panel  ID="panel01"  runat="server" Visible="false"> 
                <p style="text-align:center">一、单项选择题(每小题20分,共六十分)</p>
                <p style="text-align:center">中国历史上疆域最大的朝代是?</p>
                <p style="text-align:center"><asp:RadioButton ID="汉朝" runat="server" GroupName="dynasty" Text="汉朝" /></p>
                <p style="text-align:center"><asp:RadioButton ID="元朝" runat="server" GroupName="dynasty" Text="元朝" /></p>
                <p style="text-align:center"><asp:RadioButton ID="宋朝" runat="server" GroupName="dynasty" Text="宋朝" /></p>
                <p style="text-align:center">《梦溪笔谈》的作者是?</p>
                <p style="text-align:center"><asp:RadioButton ID="吴承恩" runat="server" GroupName="author" Text="吴承恩" /></p>
                <p style="text-align:center"><asp:RadioButton ID="沈括" runat="server" GroupName="author" Text="沈括" /></p>
                <p style="text-align:center"><asp:RadioButton ID="徐霞客" runat="server" GroupName="author" Text="徐霞客" /></p>
                <p style="text-align:center">焦糖生产技术是从哪里传入中国的?</p>
                <p style="text-align:center"><asp:RadioButton ID="非洲" runat="server" GroupName="country" Text="非洲" /></p>
                <p style="text-align:center"><asp:RadioButton ID="澳洲" runat="server" GroupName="country" Text="澳洲" /></p>
                <p style="text-align:center"><asp:RadioButton ID="印度" runat="server" GroupName="country" Text="印度" /></p>
                <p style="text-align:center">二、多项选择题(每小题20分,共四十分))</p>
                <p style="text-align:center">下列哪些是希腊神话中的人物?</p>
                <p style="text-align:center"><asp:CheckBox ID="赫尔墨斯" runat="server" Text="赫尔墨斯" /></p>
                <p style="text-align:center"><asp:CheckBox ID="宙斯" runat="server" Text="宙斯" /></p>
                <p style="text-align:center"><asp:CheckBox ID="阿波罗" runat="server" Text="阿波罗" /></p>
                <p style="text-align:center"><asp:CheckBox ID="亚瑟王" runat="server" Text="亚瑟王" /></p>
                <p style="text-align:center">下列哪些作品出自美国作家?</p>
                <p style="text-align:center"><asp:CheckBox ID="汤姆索亚历险记" runat="server" Text="汤姆·索亚历险记" /></p>
                <p style="text-align:center"><asp:CheckBox ID="白鲸" runat="server" Text="白鲸" /></p>
                <p style="text-align:center"><asp:CheckBox ID="美国的悲剧" runat="server" Text="美国的悲剧" /></p>
                <p style="text-align:center"><asp:CheckBox ID="雾都的孤儿" runat="server" Text="雾都的孤儿" /></p>
                <p style="text-align:center"><asp:Button ID="Button2" runat="server" oncommand="btn2_Click" Text="提交" CommandName="btn2" /></p>
            </asp:Panel></p> 
            <p style="text-align:center"><asp:Panel  ID="panel02"  runat="server" Visible="false"> 
            </asp:Panel></p>
            <p style="text-align:center"><asp:Button ID="Button3" runat="server" oncommand="btn3_Click" Text="重新开始" CommandName="btn3" /></p>
        </div>
    </form>
</body>

aspx.cs文件

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

public partial class basic_imformation : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        UnobtrusiveValidationMode = UnobtrusiveValidationMode.None;
    }

    protected void btn1_Click(object sender, EventArgs e)
    {
        panel01.Visible = true;
    }

    protected void btn2_Click(object sender, EventArgs e)
    {
        int score = 0;
        panel02.Visible = true;
        if (元朝.Checked)
        {
            score = score + 20;
        }
        if (沈括.Checked)
        {
            score = score + 20;
        }
        if (印度.Checked)
        {
            score = score + 20;
        }
        if (赫尔墨斯.Checked && 宙斯.Checked && 阿波罗.Checked)
        {
            score = score + 20;
        }
        if (汤姆索亚历险记.Checked && 白鲸.Checked && 美国的悲剧.Checked)
        {
            score = score + 20;
        }
        Label label1 = new Label();
        label1.Text = "<p style='text - align:center'>成绩:" + score+ "</p>";
        this.form1.Controls.Add(label1);
        Label label2 = new Label();
        label2.Text = "<p style='text - align:center'>正确答案:</p>";
        this.form1.Controls.Add(label2);
        Label label3 = new Label();
        label3.Text = "<p style='text - align:center'>一、1.元朝 2.沈括 3.印度</p>";
        this.form1.Controls.Add(label3);
        Label label4 = new Label();
        label4.Text = "<p style='text - align:center'>二、1.赫尔墨斯、宙斯、阿波罗 2.汤姆·索亚历险记、白鲸、美国的悲剧</p>";
        this.form1.Controls.Add(label4);
    }

    protected void btn3_Click(object sender, EventArgs e)
    {
        panel01.Visible = false;
        UsersName.Text = "";
        UsersNumber.Text = "";
        UsersEmail.Text = "";
    }
}

效果图
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值