ASP.NET4.0  制作试题页面
在网页中,制作试题内容,用户需要使用许多控件。通过这些控件可以实现单选题、多选题、填空题和问答题等格式,并且还可以将这些内容提交到代码页进行判断,输出其结果。
(1)制作试题页,通过添加服务器控件来完成,并且通过单击【交卷】按钮,将所有选项结果,提交到代码面。例如,双击index.aspx文件,在编辑器中制作试题页。详细代码如下:
<body>
    <form id="form1" runat="server" action="">
    <div id="content">
        <div id="header"></div>
            <div id="main">
            <div id="attention" class="attention">满分100分  单选题40分  多选题60分</div>
            <div id="answer">
                <h4>一、单选题(总分40分,答错不得分)</h4>
                <h5>1.中国历史上在位时间最长的皇帝是谁?</h5>
                <asp:RadioButtonList id="RadioButtonList1" runat="server">
                    <asp:ListItem>唐太宗</asp:ListItem>
                    <asp:ListItem>康熙</asp:ListItem>
                    <asp:ListItem>乾隆</asp:ListItem>
                    <asp:ListItem>汉武帝</asp:ListItem>
                </asp:RadioButtonList>
                <h5>2.下列发明,其最初目的是为了提高人类生活质量的是?</h5>
                <asp:RadioButtonList id="RadioButtonList2" runat="server">
                    <asp:ListItem>珍妮机</asp:ListItem>
                    <asp:ListItem>蒸汽机</asp:ListItem>
                    <asp:ListItem>耐用电灯泡</asp:ListItem>
                    <asp:ListItem>坦克</asp:ListItem>
                </asp:RadioButtonList>
                <h4>二、多选题(总分60分,答错不得分)</h4>
                <h5>1.宋代为儒学的发展作出巨大贡献的思想家?</h5>
                <asp:CheckBoxList id="CheckBoxList1" runat="server">
                    <asp:ListItem>程颐</asp:ListItem>
                    <asp:ListItem>程颢</asp:ListItem>
                    <asp:ListItem>朱熹</asp:ListItem>
                    <asp:ListItem>王阳明</asp:ListItem>
                </asp:CheckBoxList>
                <h5>2.三大宗教的创始人包括?</h5>
                <asp:CheckBoxList id="CheckBoxList2" runat="server">
                    <asp:ListItem>释迦牟尼</asp:ListItem>
                    <asp:ListItem>耶稣</asp:ListItem>
                    <asp:ListItem>穆罕默德</asp:ListItem>
                    <asp:ListItem>马丁路德</asp:ListItem>
                </asp:CheckBoxList>
                <div id="Div1" class="attention">
                    <asp:Button ID="smBtn" runat="server" Text="交卷" onclick="smBtn_Click" />
                    <asp:Button ID="exitBtn" runat="server" Text="退出考试" onclick="exitBtn_Click" />
                    <asp:Label ID="scoreLabel" runat="server" Text="您的得分为:" Visible="False"></asp:Label>
                    <asp:Label ID="score" runat="server" Visible="False"></asp:Label>
                </div>
            </div>
        </div>
    </div>
    </form>
</body>
(2)执行上述代码后,可以显示已经设计的试题内容,如图6-1所示。而对于CSS样式,并没有在上述代码显示,用户可以通过该文件源代码查看。
图6-1  设置的试题页面
asp查看源码配置ui
(3)双击index.aspx.cs文件,并添加对index.aspx页面,提交的信息进行判断,并显示结果。代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class index : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
}
(4)添加【交卷】按钮的事件,并在该事件中,实例化对象和设置属性值。其中,“int point=getPoint()”是将getPoint属性赋予point变量,同时执行该属性。而“score.Text=point.ToString();”语句,是将getPoint()返回的值,通过score标签控件显示出来。
    protected void smBtn_Click(object sender, EventArgs e)
    {
      int point= getPoint();
        smBtn.Visible = false;
        scoreLabel.Visible = true;
        score.Visible = true;
        score.Text = point.ToString();
}
(5)定义getPoint()属性,判断所提交选项的内容,计算出用户选择的选项是否正确。然后,通过这些判断结果,计算出用户的分数情况。
    protected int getPoint()
    {     
        int one=0, two=0, three=0, four=0;
        if (RadioButtonList1.SelectedIndex > -1)
        {
            if (RadioButtonList1.SelectedItem.Text=="乾隆")
          {
              one = 20;
          }
        }
        if (RadioButtonList2.SelectedIndex > -1)
        {
            if (RadioButtonList2.SelectedItem.Text == "耐用电灯泡")
            {
                two = 20;
            }
        }
        string[] answer1 = new string[] { "程颐", "程颢", "朱熹" };
        string[] answer2 = new string[] { "释迦牟尼", "耶稣", "穆罕默德" };
        int count1 = 0;
        int count2 = 0;
        for (int i = 0; i < CheckBoxList1.Items.Count;i++ )
        {
            if (CheckBoxList1.Items[i].Selected)
            {

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。