⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 feedback.aspx

📁 asp.net_Lesson7.ASP.NET经典范例50讲.第7讲登场
💻 ASPX
字号:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data" %>

<html>
  <head>
    <title>User Feedback</title>
    <script runat="server">
    void Page_Load()
    {
      if(!IsPostBack)
      {
        try
        {
          Hashtable channel = HashFile.ReadHashtableFromFile(Server.MapPath("channel.txt"));
          
          DataTable dt = new DataTable();
          DataRow dr;
          dt.Columns.Add(new DataColumn("Value", typeof(Int32)));
          dt.Columns.Add(new DataColumn("Text", typeof(string)));
          foreach(object s in channel.Keys)
          {
            dr = dt.NewRow();
            dr["Value"] = int.Parse((string)s);
            dr["Text"] = (string)channel[(string)s];
            dt.Rows.Add(dr);
      		}
          Favorite.DataSource = dt;
          Favorite.DataTextField = "Text";
          Favorite.DataValueField = "Value";
          Favorite.DataBind();
          Dislike.DataSource = dt;
          Dislike.DataTextField = "Text";
          Dislike.DataValueField = "Value";
          Dislike.DataBind();
        }
        catch(Exception e)
        {
          Response.Write(e.ToString());
        }
      }
    }

    void OnSubmit(object sender, EventArgs args)
    {
      StreamWriter writer = null;
      try
      {
        //Record the guest information and suggestion.
        writer = File.AppendText(Server.MapPath("feedback.txt"));
        writer.WriteLine(Age.Text);
        writer.WriteLine(Income.SelectedItem.Value);
        writer.WriteLine(Career.SelectedItem.Value);
        writer.WriteLine(Suggestion.Text.Replace("\r\n", "<br/>"));
        writer.Close();

        // Count the guest' score
        Hashtable score = HashFile.ReadHashtableFromFile(Server.MapPath("score.txt"));
        foreach(ListItem item in Favorite.Items)
        {
          if(item.Selected == true)
          {
            if( score[item.Value] == null )
              score[item.Value] = "1";
            else
              score[item.Value] 
                = (int.Parse((string)score[item.Value]) + 1).ToString();
          }
        }
        foreach(ListItem item in Dislike.Items)
        {
          if(item.Selected == true)
          {
            if( score[item.Value] == null )
              score[item.Value] = "-1";
            else
              score[item.Value] 
                = (int.Parse((string)score[item.Value]) - 1).ToString();
          }
        }
        HashFile.WriteHashtableToFile(score,Server.MapPath("score.txt"));

        Response.Redirect("result.aspx");
      }
      catch(Exception e)
      {
        Response.Write(e.ToString());
      }
      finally
      {
        if(writer != null)
          writer.Close();
      }
    }
    </script>
  </head>

  <body>
    <form id="form1" method="post" runat="server">
    <h3>用户调查表</h3>
    <h4>用户情况</h4>
    年龄:
    <asp:TextBox id="Age" runat="server" /><br/>
    收入:
    <asp:DropDownList id="Income" runat="server">
      <asp:ListItem value="<1000" Text="<1000" />
      <asp:ListItem value="1000-3000" Text="1000-3000" />
      <asp:ListItem value="3000-8000" Text="1000-8000" />
      <asp:ListItem value=">8000" Text=">8000" />
    </asp:DropDownList><br/>
    职业:
    <asp:RadioButtonList id="Career" RepeatDirection="Horizontal" 
                         RepeatLayout="Flow" runat="server">
      <asp:ListItem value="Employee" Text="公司职员" />
      <asp:ListItem value="Student"  Text="学生" />
      <asp:ListItem value="Officer"  Text="政府人员" />
      <asp:ListItem value="Misc" Text="其他" Selected="true"/>
    </asp:RadioButtonList>
    <h4>栏目调查</h4>
    你喜爱的栏目(在后面打勾):
    <asp:CheckBoxList id="Favorite" RepeatDirection="Horizontal" 
                      runat="server" />
    你喜爱的栏目(在后面打勾):
    <asp:CheckBoxList id="Dislike" RepeatDirection="Horizontal" 
                      runat="server" />
    <h4>用户意见</h4>
    <asp:TextBox id="Suggestion" TextMode="MultiLine" runat="server"
                 Columns="60" Rows="5" MaxLength="256" />
    <asp:Button id="Submit" Text="提交表单" runat="server" 
                onClick="OnSubmit" />
    <input type="reset" Value="重新填写" />
    </form>
  </body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -