用ASP.NET 2.0设计网络在线投票系统(5)

2008-02-22 09:28:01来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折



int voteTotal = 0;

private void Page_Load(object sender, System.EventArgs e)
{ //设置总票数voteTotal
 SetVoteTotal();
 if(!Page.IsPostBack)
 { //显示用户投票的具体情况
  BindVoteListData();
  VoteMessage.Text = "总票数为:" voteTotal.ToString();
 }
}

private void SetVoteTotal()
{ //获取所有数据
 WebVote.Vote vote = new Vote();
 SqlDataReader recv = vote.GetVotes();
 voteTotal = 0;

 //读取每一个参与投票的项目,并计算票数总和

 while(recv.Read())
 { //计算它们的总和
  voteTotal = Int32.Parse(recv["VoteCount"].ToString());
 }
 recv.Close();
}

private void BindVoteListData()
{ //获取数据
 WebVote.Vote vote = new Vote();
 SqlDataReader recv = vote.GetVotes();

 //设置控件的数据源,并绑定控件的数据

 VoteList.DataSource = recv;
 VoteList.DataBind();

 recv.Close();
}

  页面ShowVoteInfo.aspx初始化时(即数据网格控件VoteList绑定数据时),分别调用函数FormatVoteCount(String voteCount)和函数FormatVoteImage(int voteCount)来计算每个投票项目所占的百分比和图像的长度(绘制比例图片)。函数FormatVoteCount(String voteCount)和函数FormatVoteImage(int voteCount)的程序代码如下:

public int FormatVoteCount(String voteCount)
{ //如果投票没有被投票
 if(voteCount.Length <= 0)
 { //返回0个百分比
  return(0);
 }
 if(voteTotal > 0)
 { //返回实际的百分比
  return((Int32.Parse(voteCount)* 100/voteTotal));
 }
 return(0);
}

public int FormatVoteImage(int voteCount)
{ //返回百分比的图像的长度
 return(voteCount * 3);
}

  网络在线投票系统运行之后,显示投票结果页面ShowVoteInfo.aspx的初始化界面如图9所示,此时显示各个项目的投票结果。



图9 某个时候的投票结果页面ShowVoteInfo.aspx

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:如何在删除并重新安装 IIS 之后修复 IIS 映射

下一篇:如何建立自己的新闻发布系统?