|
ick="WebOnlineVoteBtn_Click"></asp:button>
</HTML> 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(voteC上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >> |
|
|
|
|
|
|
|