博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
035. asp.netWeb用户控件之四通过用户控件实现投票和结果分析
阅读量:5299 次
发布时间:2019-06-14

本文共 6160 字,大约阅读时间需要 20 分钟。

 

用户控件Vote.ascx代码

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="vote.ascx.cs" Inherits="vote" %>    
您对本公司的售后服务是否满意?
非常满意
基本满意
不满意
不发表意见
      

用户控件vote.ascx.cs代码:

public partial class vote : System.Web.UI.UserControl{    protected void Page_Load(object sender, EventArgs e)    {    }    ///     /// 从txt文件中读取投票数量    ///     /// 要读取的txt文件的路径及名称    /// 
返回一个int类型的值,用来记录投票数量
public static int readCount(string P_str_path) { int P_int_count = 0; StreamReader streamread; streamread = File.OpenText(P_str_path); while (streamread.Peek() != -1) { P_int_count = int.Parse(streamread.ReadLine()); } streamread.Close(); return P_int_count; } /// /// 写入投票数量 /// /// 要操作的txt文件的路径及名称 public static void addCount(string P_str_path) { int P_int_count = readCount(P_str_path); P_int_count += 1; //将数据记录写入文件 StreamWriter streamwriter = new StreamWriter(P_str_path, false); streamwriter.WriteLine(P_int_count); streamwriter.Close(); } protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { string P_str_IP = Request.UserHostAddress.ToString(); HttpCookie oldCookie = Request.Cookies["userIP"]; if (oldCookie == null) { int flag = RadioButtonList1.SelectedIndex; switch (flag) { case 0: addCount(Server.MapPath("result1.txt")); break; case 1: addCount(Server.MapPath("result2.txt")); break; case 2: addCount(Server.MapPath("result3.txt")); break; case 3: addCount(Server.MapPath("result4.txt")); break; } Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('投票成功,谢谢您的参与!');", true); HttpCookie newCookie = new HttpCookie("userIP"); //定义新的Cookie对象 newCookie.Expires = DateTime.MaxValue; //添加新的Cookie变量IPaddress,值为P_str_IP newCookie.Values.Add("IPaddress", P_str_IP); Response.AppendCookie(newCookie); //将变量写入Cookie文件中 } else { string P_str_oldIP = oldCookie.Values["IPaddress"]; if (P_str_IP.Trim() == P_str_oldIP.Trim()) { Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('一个IP地址只能投一次票,谢谢您的参与!');", true); } else { HttpCookie newCookie = new HttpCookie("userIP"); newCookie.Values.Add("IPaddress", P_str_IP); newCookie.Expires = DateTime.MaxValue; Response.AppendCookie(newCookie); int rflag = RadioButtonList1.SelectedIndex; switch (rflag) { case 0: addCount("result1.txt"); break; case 1: addCount("result2.txt"); break; case 2: addCount("result3.txt"); break; case 3: addCount("result4.txt"); break; } Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('投票成功,谢谢您的参与!');", true); } } }}

结果页面result.aspx代码:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><%@ Register src="vote.ascx" tagname="vote" tagprefix="uc1" %>    在线投票系统    

结果页面result.aspx.cs代码:

public partial class Default2 : System.Web.UI.Page{    protected string M_str_rate1;    protected string M_str_rate2;    protected string M_str_rate3;    protected string M_str_rate4;    protected int P_int_count1;    protected int P_int_count2;    protected int P_int_count3;    protected int P_int_count4;    protected void Page_Load(object sender, EventArgs e)    {        P_int_count1 = readCount(Server.MapPath("result1.txt"));        P_int_count2 = readCount(Server.MapPath("result2.txt"));        P_int_count3 = readCount(Server.MapPath("result3.txt"));        P_int_count4 = readCount(Server.MapPath("result4.txt"));        int P_int_count = P_int_count1 + P_int_count2 + P_int_count3+P_int_count4;        if (P_int_count == 0)        {            Response.Write("");            lblresult.Text = "共有0人参与投票";        }        else        {            M_str_rate1 = (Convert.ToDouble(P_int_count1) * 100 / Convert.ToDouble(P_int_count)).ToString("0.00") + "%";            M_str_rate2 = (Convert.ToDouble(P_int_count2) * 100 / Convert.ToDouble(P_int_count)).ToString("0.00") + "%";            M_str_rate3 = (Convert.ToDouble(P_int_count3) * 100 / Convert.ToDouble(P_int_count)).ToString("0.00") + "%";            M_str_rate4 = (Convert.ToDouble(P_int_count4) * 100 / Convert.ToDouble(P_int_count)).ToString("0.00") + "%";            lblresult.Text = "共有" + P_int_count.ToString() + "人参与投票";        }    }    ///     /// 从txt文件中读取投票数量    ///     /// 要读取的txt文件的路径及名称    /// 
返回一个int类型的值,用来记录投票数量
public static int readCount(string P_str_path) { int P_int_count = 0; StreamReader streamread; streamread = File.OpenText(P_str_path); while (streamread.Peek() != -1) { P_int_count = int.Parse(streamread.ReadLine()); } streamread.Close(); return P_int_count; }}

默认页面Default.aspx页面代码:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><%@ Register src="vote.ascx" tagname="vote" tagprefix="uc1" %>    在线投票系统    

style.css代码:

#box {
height: 195px; width: 370px; background-image: url(images/1.jpg); background-repeat: no-repeat; padding-top: 65px; padding-right: 45px; padding-left: 45px;}#box2 {
height: 195px; width: 370px; background-image: url(images/2.jpg); background-repeat: no-repeat; padding-top: 65px; padding-right: 45px; padding-left: 45px;}

用到的四个文件:

用到的几张图片:

最终效果展示:

 

转载于:https://www.cnblogs.com/wxylog/p/6187345.html

你可能感兴趣的文章
如何给ocx,dll控件进行数字签名
查看>>
新开通博客【人工置顶】
查看>>
mongoose学习参考
查看>>
python 输入列的名字,直接可以得到图像
查看>>
ztree根据关键字模糊搜索
查看>>
求一个环形数组最大子数组的和
查看>>
http://www.cnblogs.com/xqin/p/4862849.html
查看>>
科技写作:何时用英文写作?
查看>>
微服务核心20讲 读书笔记
查看>>
努力有什么用
查看>>
nginx_tomcat
查看>>
WEB前端面试题查询整理
查看>>
【CodeForces - 598D】Igor In the Museum(bfs)
查看>>
Spark-Mllib中各分类算法的java实现(简易教程)
查看>>
给你的HTTPS添加Let's Encrypt证书
查看>>
Y1吐槽002 情绪
查看>>
vcenter api 接口获取开发
查看>>
MVC Razor模板引擎 @RenderBody、@RenderPage、@RenderSection及Html.RenderPartial、Html.RenderAction...
查看>>
红帽Linux故障定位技术详解与实例(2)
查看>>
Zabbix分布式监控系统实践 自定义配置
查看>>