中国站长下载-为中国站长提供最好最全的建站资源! 首 页发布资源有事留言繁體中文
设为首页
加入收藏
联系我们
 
您当前的位置:中国站长下载 -> 文章中心 -> 网页编程 -> PHP编程 -> 文章内容  虚拟主机 域名注册 退出登录 用户管理
栏目导航
· ASP编程 · .NET编程
· PHP编程 · JSP编程
· CGI 专区
热门文章
· sndvol32 - sndvol3...
· [组图] FLASH:《大话李白》...
· 个人网站到底能赚多...
· [图文] Rundll.exe是病毒吗...
· [组图] Flash:制作MV
· 价值12万元的网站SE...
· 网站创业者,你需要...
· 一个成功的网站设计...
· [图文] FLASH:韩国导航条解...
· 中国网站的赚钱模式...
相关文章
· [图文] 用ASP.NET 2.0设计网...
· [图文] 用ASP.NET 2.0设计网...
· [图文] 用ASP.NET 2.0设计网...
· [图文] 用ASP.NET 2.0设计网...
· 使用ASP.NET开发移动...
· 用ASP.NET开发Web服...
· [图文] 用ASP.NET在同一网页...
· 用Asp.net实现基于X...
· 用Asp.net实现基于X...
· 用Asp.net实现基于X...
用ASP.NET 2.0设计网络在线投票系统(5)
作者:不详  来源:不详  发布时间:2006-8-14 10:23:33  发布人:chinazhan

 减小字体 增大字体

     显示投票结果页面设计
  
    在应用程序WebVote中添加一个新的Web页面,并命名为ShowVoteInfo.aspx,它的代码隐藏文件为ShowVoteInfo.aspx.cs文件。
  
    1.页面设计
  
    在页面ShowVoteInfo.aspx上添加一个数据网格控件、一个Label控件和一个Button控件,它们的名称分别为VoteList、 VoteMessage、WebOnlineVoteBtn。控件VoteList用来显示参与投票的项目的投票情况,并计算各个投票项目所占的百分比;控件VoteMessage显示用户投票的总票数;控件WebOnlineVoteBtn实现投票页面WebOnlinVote.aspx。页面 ShowVoteInfo.aspx的设计界面如图8所示。
  
  图8 页面ShowVoteInfo.aspx的设计界面
  
    页面ShowVoteInfo.aspx的HTML设计代码如下:
  
  <%@ Page Language="C#" AutoEventWireup="true"
  
  CodeFile="ShowVoteInfo.aspx.cs" Inherits="ShowVoteInfo" %>
  
  <HTML><HEAD><title>网络在线投票系统</title></HEAD>
  
  <asp:DataGrid ID="VoteList" Runat="server" CssClass="Normal"
  
  AutoGenerateColumns="False" DataKeyField="VoteID">
  
  <HeaderStyle BackColor="Orange"></HeaderStyle>
  
  <Columns>
  
  <asp:TemplateColumn HeaderText="投票项目">
  
  <ItemStyle Width="200px"></ItemStyle>
  
  <ItemTemplate><%# DataBinder.Eval(Container.DataItem,"Item")%>
  
  </ItemTemplate></asp:TemplateColumn>
  
  <asp:TemplateColumn HeaderText="所占总票的百分比">
  
  <ItemStyle Width="300px"></ItemStyle>
  
  <ItemTemplate>
  
  <asp:Image ID="voteImage" Runat="server" Height="20" Width='<%#
  
  FormatVoteImage(FormatVoteCount(DataBinder.Eval(
  
  Container.DataItem,"VoteCount").ToString()))%>'
  
  mageUrl="Images/vote.gif">
  
  </asp:Image>
  
  <%# FormatVoteCount(DataBinder.Eval(Container.DataItem,
  
  "VoteCount").ToString())%>%
  
  </ItemTemplate></asp:TemplateColumn>
  
  <asp:TemplateColumn HeaderText="票数">
  
  <ItemStyle Width="100px"></ItemStyle>
  
  <ItemTemplate>
  
  <asp:Label ID="VoteCount" Runat="server">
  
  <%# DataBinder.Eval(Container.DataItem,"VoteCount")%>
  
  </asp:Label>
  
  </ItemTemplate></asp:TemplateColumn>
  
  </Columns>
  
  </asp:DataGrid>
  
  <asp:Label ID="VoteMessage" Runat="server" ForeColor="Red"
  
  Width="100%"></asp:Label>
  
  <asp:button id="WebOnlineVoteBtn" Runat="server" Width="100"
  
  Text="返回投票页面" CssClass="ButtonCss"
  
  OnClick="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(voteCount * 3);
  }
  
    网络在线投票系统运行之后,显示投票结果页面ShowVoteInfo.aspx的初始化界面如图9所示,此时显示各个项目的投票结果。
  
  图9 某个时候的投票结果页面ShowVoteInfo.aspx
    做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。

 
[] [返回上一页] [打 印] [收 藏]
上一篇文章:PHP教程.经验技巧(1)
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
中国站长下载
中国站长下载

本页只接受PR>=4 IT类站点连接,申请连接,谢谢您们的支持!希望我们的下载站能够真正帮到中国的站长们!
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图
Copyright © 2005-2006 ChinaZhan.Net. All Rights Reserved .