资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
ASP.NET程序设计,第11讲在线投票系统,翁健红 davewjh163.com 湖南铁道职业技术学院,本课目标,系统分析 模块设计 项目开发,情景展示,系统分析,本系统主要提供两个功能,一是用户投票,相应的文件是main.aspx 二是查看提供投票结果, 相应的文件是view.aspx。,投票页面,模块设计 功能:提供用户投票界面。显示可选的课程,用户选中课程后提交选票。 输入:无 输出:无 界面设计:参考图6-33 主要逻辑: 在Page_Load事件中,从vote表中取回投票课程,绑定到RadioButtonList显示 在“投票”按钮单击事件中,把用户的选中课程的选票计数加1,protected void Page_Load(object sender, System.EventArgs e) if (!IsPostBack) string connStr = “server=(local);integrated security=true;database=demo“; SqlConnection conn = new SqlConnection(connStr); SqlDataAdapter da = new SqlDataAdapter(“select item from vote“, conn); DataSet ds = new DataSet(); da.Fill(ds); /绑定显示投票选项 RadioButtonList1.DataSource = ds; RadioButtonList1.DataTextField = “item“; RadioButtonList1.DataBind(); ,/单击投票按钮 protected void lnkVote_Click(object sender, System.EventArgs e) if (RadioButtonList1.SelectedIndex alert(请选择投票项); “); return; string sql = “update vote set VoteCount=VoteCount+1 where item=“ + RadioButtonList1.SelectedItem.Text + “; string connStr = “server=(local);integrated security=true;database=demo“; SqlConnection conn = new SqlConnection(connStr); SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); cmd.ExecuteNonQuery(); Response.Write(“ alert(谢谢参与投票!);window.location.href =View.aspx; “); ,显示投票结果页面,1模块设计 功能:把Vote表中的结果以表格形式显示出来,并且要显示得票率(%)及以图形得票率。 输入:无 输出:无 界面设计:参考图6-34 主要逻辑: 首先把Vote表中的结果取到内存的DataTable中 为DataTable动态增加两列:rate和graph,分别对应得票率与图形的长度 为DataTable每行的rate和graph列赋值 把DataTable绑定到DataGrid中显示出来 其中横条图通过按得票率对图片bg.jpg进行横向缩放得到的。,protected void Page_Load(object sender, System.EventArgs e) string sql = “select * from vote“; DataSet ds = CreateDataSet(sql); /动态生成DataTable的rate和Graph两列(字段) DataTable dt = ds.Tables0; dt.Columns.Add(new DataColumn(“rate“, typeof(String); dt.Columns.Add(new DataColumn(“graph“, typeof(String); /计算总的投票数 int sum = 0; for (int i = 0; i dt.Rows.Count; i+) sum = sum + (int)dt.Rowsi“votecount“; ,/计算得票率和直方图的长度 int rate; for (int i = 0; i dt.Rows.Count; i+) if (sum = 0) rate = 0; else rate = (int)dt.Rowsi“votecount“ * 100 / sum; dt.Rowsi“rate“ = rate + “%“; /计算得票率 dt.Rowsi“graph“ = rate * 3; /设定直方图的长度 dg.DataSource = ds; dg.DataBind(); ,注册页面的验证实现 (演示),学生模仿,完成用户投票页面 完成投票结果页面 要求能防止重复投票,过程总结,共性问题集中讲解,常见调试问题及解决办法 代码规范问题,课堂小结,系统的分析与设计 投票图形的处理 动态DataTable的使用,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号