📄 vote.ascx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
//该源码首发自www.51aspx.com(51aspx.com)13:57 2008/10/7
public partial class MyController_vote : System.Web.UI.UserControl
{
DB DBManager = new DB();
private int ID = 0;
private bool flag = false;
public int IID
{
set
{
ID = value;
}
get
{
return this.ID;
}
}
protected void Page_Load(object sender, EventArgs e)
{
getID();
getTitle();
if (!Page.IsPostBack)
{
getItems();
}
}
//取出标题的ID
public void getID()
{
string sqlcon = "select id from voteConfig";
string id=DBManager.executeGetReturn(sqlcon);
if(ID==0)
ID = Convert.ToInt32(id);
}
//取出标题
public void getTitle()
{
string sqlcon="select voteTitle from voteMaster where id = " + ID;
this.lblTitle.Text=DBManager.executeGetReturn(sqlcon);
}
//取出标题项目
public void getItems()
{
string sqlcon="select voteDetailsID,voteItem from voteDetails where id="+ID;
SqlDataReader sdr=DBManager.getSdr(sqlcon);
this.rBLVote.DataSource = sdr;
this.rBLVote.DataTextField = "voteItem";
this.rBLVote.DataValueField = "voteDetailsID";
this.rBLVote.DataBind();
DBManager.clear();
}
//取出是否限制IP
public bool checkIP()
{
string sqlcon = "select voteIP from voteConfig where id=" + ID;
int checkedIP = Convert.ToInt32(DBManager.executeGetReturn(sqlcon));
if(checkedIP>0)
{
flag = true;
}
else
{
flag = false;
}
return flag;
}
//检查投票者IP是否存在
public bool checkVoteIP()
{
//取得投票者的IP
string ip = Convert.ToString(Request.UserHostAddress);
string sqlcon = "select count(*) from voter where ip='" + ip + "' and id=" + ID;
int result = Convert.ToInt32(DBManager.executeGetReturn(sqlcon));
if(result>0)
{
flag = true;
}
else
{
flag = false;
}
return flag;
}
//检查投票者IP是否经过限定的时间
public bool checkIPTime()
{
string getTime="select voteTime from voteConfig where id="+ID;
int checkTime=Convert.ToInt32(DBManager.executeGetReturn(getTime));
string sqlcon="select datediff(s,voterTime,getdate()) from voter where id="+ID+"and ip='"+Request.UserHostAddress+"'";
long voterTime=Convert.ToInt64(DBManager.executeGetReturn(sqlcon));
if(voterTime<checkTime*60)
{
flag=true;
}
else
{
flag=false;
}
return flag;
}
//提交按钮命令
protected void btntijiao_Click(object sender, EventArgs e)
{
//如果限制IP投票
if(checkIP())
{
//如果IP存在
if (checkVoteIP())
{
//如果IP的投票时间没有经过限定的时间 不可以投票
if (checkIPTime())
{
this.lblMessage.Text = "请在24小时之后再投票,谢谢合作.";
}
//如果IP的投票时间经过限定的时间 可以投票
else
{
//更新投票从表 项目表
string sqlUpDateVoteDetails = "update voteDetails set voteNum=voteNum+1 where voteDetailsID=" + this.rBLVote.SelectedValue;
//更新投票信息表
string sqlUpDateVoter = "update voter set voterTime=getdate(),voterNum=voterNum+1 where id=" + ID + "and ip='" + Request.UserHostAddress.ToString() + "'";
string[] arrsql = new string[2];
arrsql[0] = sqlUpDateVoteDetails;
arrsql[1] = sqlUpDateVoter;
if (DBManager.executeTransaction(arrsql))
{
this.lblMessage.Text = "投票成功,谢谢您的再一次投票.";
}
else
{
this.lblMessage.Text = "错误出现----投票成功,谢谢您的再一次投票.";
}
}
}
//如果IP不存在
else
{
//更新投票从表 项目表
string sqlUpDateVoteDetails = "update voteDetails set voteNum=voteNum+1 where voteDetailsID=" + this.rBLVote.SelectedValue;
//添加新的信息到投票信息表
string sqlUpDateVoter = "insert into voter(id,ip) values(" + ID + ",'" + Request.UserHostAddress + "')";
string[] arrsql = new string[2];
arrsql[0] = sqlUpDateVoteDetails;
arrsql[1] = sqlUpDateVoter;
if (DBManager.executeTransaction(arrsql))
{
this.lblMessage.Text = "这是您的第一次投票,投票成功.";
}
else
{
this.lblMessage.Text = "错误出现----这是您的第一次投票,投票成功.";
}
}
}
else//如果不限制IP投票
{
//更新投票从表 项目表
string sqlUpDateVoteDetails = "update voteDetails set voteNum=voteNum+1 where voteDetailsID=" + this.rBLVote.SelectedValue;
//如果投票者的IP存在 投票者已经投过票
if (checkVoteIP())
{
//更新投票信息表
string sqlUpDateVoter = "update voter set voterTime=getdate(),voterNum=voterNum+1 where id=" + ID + "and ip='" + Request.UserHostAddress.ToString() + "'";
string[] arrsql = new string[2];
arrsql[0] = sqlUpDateVoteDetails;
arrsql[1] = sqlUpDateVoter;
if (DBManager.executeTransaction(arrsql))
{
this.lblMessage.Text = "投票成功,谢谢您的再一次投票,系统不限制IP.";
}
else
{
this.lblMessage.Text = "错误出现----投票成功,谢谢您的再一次投票,系统不限制IP.";
}
}
//如果投票者的IP不存在 投票者第一次投票
//更新投票从表 项目表
else
{
//添加新的信息到投票信息表
string sqlUpDateVoter = "insert into voter(id,ip) values(" + ID + ",'" + Request.UserHostAddress + "')";
string[] arrsql = new string[2];
arrsql[0] = sqlUpDateVoteDetails;
arrsql[1] = sqlUpDateVoter;
if (DBManager.executeTransaction(arrsql))
{
this.lblMessage.Text = "这是您的第一次投票,投票成功,系统不限制IP.";
}
else
{
this.lblMessage.Text = "错误出现----这是您的第一次投票,投票成功,系统不限制IP.";
}
}
}
}
protected void btnResult_Click(object sender, EventArgs e)
{
Response.Redirect("showResult.aspx?id="+ID);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -