| 用ASP.NET 2.0设计网络在线投票系统 |
|
 |
|
| 日期:2006-8-10 10:10:29 人气:
[大
中 小] |
|
|
2.页面初始化
页面ShowVoteInfo.aspx调用函数Page_Load(Object sender,EventArgs e)初始化。该函数调用函数BindVoteListData()从数据库投票表Votes中获取所有投票的项目,并把获取的数据绑定到数据网格控件VoteList。函数Page_Load(Object sender,EventArgs e)还调用函数SetVoteTotal()从数据库中获取投票的总票数。函数Page_Load(Object sender,EventArgs e)、函数SetVoteTotal()和函数BindVoteListData()的程序代码如下:
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
|
|
|
| 出处:本站原创 作者:zzcode |
|
|