清华电脑学堂:ASP.NET 4.5网站开发与应用实践教程
上QQ阅读APP看书,第一时间看更新

3.8 实验指导——常识调查页面

结合本章内容,创建常识调查页面,测试小学生对常识的了解情况。要求分别添加一道单选题和一道多选题,在提交之后显示学生的答案和正确答案;在提交之前需要学生选择自己所在的年级,步骤如下。

(1)首先是页面的创建,步骤省略。学生需要选择自己所在的年级,可使用下拉列表;选择题的选项是需要列举出来让学生选择的,因此可分别使用RadioButtonList控件和CheckBoxList控件来编写单选题和多选题。另外,需要【提交】按钮和用来显示信息的标签,并额外添加一个容器,显示正确答案。上述过程所涉及的控件代码如下。

        <asp:DropDownList ID="classList" runat="server" Height="20px" Width=
        "80px">
            <asp:ListItem Selected="True">一年级</asp:ListItem>
            <asp:ListItem>二年级</asp:ListItem>
            <asp:ListItem>三年级</asp:ListItem>
            <asp:ListItem>四年级</asp:ListItem>
        </asp:DropDownList>
          <asp:RadioButtonList ID="direction" runat="server">
              <asp:ListItem>东</asp:ListItem>
              <asp:ListItem>西</asp:ListItem>
              <asp:ListItem>南</asp:ListItem>
              <asp:ListItem>北</asp:ListItem>
          </asp:RadioButtonList>
        <asp:CheckBoxList ID="province" runat="server">
            <asp:ListItem>哈尔滨</asp:ListItem>
            <asp:ListItem>黑龙江</asp:ListItem>
            <asp:ListItem>吉林</asp:ListItem>
            <asp:ListItem>辽宁</asp:ListItem>
        </asp:CheckBoxList>
        <asp:Button ID="Submit" runat="server" Text="提交" BackColor="#E2F2FF"
        BorderColor="#007ACC" BorderStyle="Outset" Height="24px" Width="103px"
        OnClick="Submit_Click" />
        <asp:Label ID="subLabel" runat="server" Text="您的提交:"></asp:Label>
        <asp:Panel ID="Panel1" runat="server">正确答案:</asp:Panel>

(2)接下来定义【提交】按钮的鼠标单击事件,遍历学生的答案并显示,同时添加Literal控件显示正确答案,代码如下。

        protected void Submit_Click(object sender, EventArgs e)
        {
            string cla = classList.SelectedValue;
            string dir = direction.SelectedValue;
            string provinces = "";
            foreach (ListItem item in province.Items)           //遍历集合项
            {
              if (item.Selected)                                //某项是否选中
              { provinces += item.Value + "、"; }
            }
            if (cla == "" || dir == "" || provinces == "")
            {
              subLabel.Text = "请填写完整";
              subLabel.ForeColor = System.Drawing.Color.Red;
            }
            else
            {
              subLabel.Text = "您的提交:" + cla + "; 您的答案是:" + dir + "; " +
              provinces;
              subLabel.ForeColor = System.Drawing.Color.Black;
              Literal liter = new Literal();
              liter.ID = "literText";
              liter.Text = "南; 黑龙江、吉林、辽宁";
              Panel1.Controls.Add(liter);
            }
        }

(3)运行该页面,选择【三年级】并选中一些答案,单击【提交】按钮,页面的运行效果如图3-7所示。

图3-7 常识调查页面