《《在线投票实例》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《在线投票实例》PPT课件.ppt(10页珍藏版)》请在三一办公上搜索。
1、在线投票实例,-单选与多选,单选投票,单选投票顾名思议,只允许用户做单一投票,单选投票控件有两个,一个是RadioButton,另一个是RadioButtonList。前者是单选投票按钮,后者是单选投票按钮列表。RadioButton控件一般用于不读取数据库且选项极少通常是两个选项时的投票才使用。,RadioButtonList控件用于选项较多且要从数据库中读取数据时使用。RadioButton控件的使用方法 从工具箱中拉出两个RadioButton,设置RadioButton的Text文本值和value键值,同时设置两个RadioButtonList控件的GroupName为同一组.实现代码
2、为:,前台代码:后台代码:protected void Button1_Click(object sender,EventArgs e)if(this.RadioButton1.Checked)/判断第一个单选框是否被选中 Response.Write(this.RadioButton1.Text);else/因为是单选题,只有两个选项,所以第一个没选中则第二个必被选中 Response.Write(this.RadioButton2.Text);,RadioButtonList控件使用,RadioButtonList的中文名称为单选按钮列表,其功能更加强大,几乎百分之九十的单选功能都是通过这
3、个控件实现。单选按扭列表的项的内容可以通过预设与绑定数据库两种方法实现,人为预设非常简单,只要在RadioButtonList的属性窗口中点击Items属性的Collection,进行选项的添加和编辑。而绑定数据库的实现就相对复杂,具体实现如下:,首先在数据库中新建vote数据库,把Sql数据库的登陆方式设置为Sql与windows混合模式,此例中数据库的登陆用户名为sa,密码为空。在vote数据库中新建表vote,设置其有三个字段,一个字段是id,表示是第几个选项,一个字段是content,表示选项的文本内容,一个字段是num,表示这个选项的票数有几票,前台代码:后台代码:在Page_Loa
4、d事件中编写事件if(!this.IsPostBack)/这句必不可少,表示只有第一次打开网页才绑定 SqlConnection con=new SqlConnection(server=.;uid=sa;pwd=;database=proves);con.Open();SqlCommand chose=new SqlCommand(select*from vote,con);SqlDataReader cho=chose.ExecuteReader();this.RadioButtonList1.DataSource=cho;this.RadioButtonList1.DataTextFie
5、ld=content;this.RadioButtonList1.DataValueField=id;this.RadioButtonList1.DataBind();con.Close();,点击提交按钮之后:protected void Button1_Click(object sender,EventArgs e)SqlConnection con=new SqlConnection(server=.;uid=sa;pwd=;database=vote);con.Open();string id=this.RadioButtonList1.SelectedValue;SqlCommand
6、 chose=new SqlCommand(update vote set num=num+1 where id=+id,con);chose.ExecuteNonQuery();con.Close();/获得单选列表框中把选中项的键值,并在数据库中把这个键值对应项的票数加1,多项投票,多选投票的实现方法类似于单选投票,在实现过程中同样可以分为两种,一种是多选按钮控件CheckBox,另一种则是多选按钮列表CheckBoxList。两种方法的实现过程与单选的两种方法类大同小异,选项内容的绑定方法也相同,这里只讲述他们的区别之处。由于多选投票可以进行多选,所以必须用for循环对每一个复选框进行判
7、断,选中了则将票数加一,具体代码如下:,protected void Button1_Click(object sender,EventArgs e)SqlConnection con=new SqlConnection(server=.;uid=sa;pwd=;database=vote);con.Open();for(int i=0;ithis.CheckBoxList1.Items.Count;i+)if(this.CheckBoxList.Itemsi.Checked)int id=i+1;/多选按钮列表的项是从0开始计数,而数据库中是从1开始所以需要加1进行对应 SqlCommand chose=new SqlCommand(update vote set num=num+1 where id=+id,con);chose.ExecuteNonQuery();con.Close();,