📄 voteadd.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
/*----------------------------------------------------------------
// Copyright (C) 2008青岛惠信科技有限公司版权所有。
//
// 文件名:网上调查
// 功能描述:调查增加
// 添加标识:sff20081031
//
----------------------------------------------------------------*/
namespace votemanage
{
/// <summary>
/// VoteAdd 的摘要说明。
/// </summary>
public class VoteAdd : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox txtName;
protected System.Web.UI.WebControls.TextBox txtRemark;
protected System.Web.UI.WebControls.TextBox txtStime;
protected System.Web.UI.WebControls.TextBox txtEtime;
protected System.Web.UI.WebControls.TextBox txtvoteid;
protected System.Web.UI.WebControls.Button btnOK;
protected System.Web.UI.WebControls.Button btnCancle;
protected System.Web.UI.WebControls.DropDownList ddlMessage;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
private stander.DBComm db;
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
this.btnCancle.Click += new System.EventHandler(this.btnCancle_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
db = new stander.DBComm();
if (!Page.IsPostBack)
{
//调查ID
this.txtvoteid.Text=Request.Params["voteid"];
// 初始化问题列表
GetQuestionList();
//调查ID为空,则为新增页面
if(this.txtvoteid.Text==null || this.txtvoteid.Text.Trim() == "")
{
}
else//修改页面
{
//读取调查修改信息
string str = "select VoteID,Title,MessageFlag,StartTime,EndTime,Remark from ";
str += "VoteClass where VoteID="+ this.txtvoteid.Text;
DataTable dtVote = db.GetDataTable(str);
if (dtVote != null && dtVote.Rows.Count > 0)
{
this.txtName.Text = dtVote.Rows[0]["Title"].ToString();//调查名称
this.txtStime.Text = dtVote.Rows[0]["StartTime"].ToString();//开始时间
this.txtEtime.Text = dtVote.Rows[0]["EndTime"].ToString();//结束时间
this.txtRemark.Text = dtVote.Rows[0]["Remark"].ToString();//备注
this.ddlMessage.SelectedValue = dtVote.Rows[0]["MessageFlag"].ToString();//留言
dtVote.Clear();
dtVote.Dispose();
}
//读取相关的问题列表
str = "select QuestionID from VoteQuestion where VoteID=" + this.txtvoteid.Text;
dtVote = db.GetDataTable(str);
if (dtVote != null && dtVote.Rows.Count > 0)
{
for (int i = 0;i < dtVote.Rows.Count;i++)
{
//关联的问题ID
string questionid = dtVote.Rows[i][0].ToString();
for (int j = 0; j < DataGrid1.Items.Count; j++)
{
CheckBox cb = (CheckBox)DataGrid1.Items[j].Controls[0].Controls[1];
//关联的问题选中复选框
if (DataGrid1.Items[j].Cells[1].Text.Trim() == questionid)
{
cb.Checked = true;
}
}
}
dtVote.Clear();
dtVote.Dispose();
}
}
}
}
#region 内部方法
/// <summary>
/// 初始化问题列表
/// </summary>
private void GetQuestionList()
{
string str = "select QuestionID, QuestionTitle, (case QuestionType when 2 then '填空' ";
str += "when '1' then '多选' else '单选' end) as Type from QuestionTable ";
str += "order by QuestionID desc ";
DataTable dtQues = db.GetDataTable(str);
//绑定数据信息
this.DataGrid1.DataSource = dtQues;
this.DataGrid1.DataBind();
if (db != null)
{
db.Dispose();
}
}
/// <summary>
/// 判断输入是否为日期类型
/// </summary>
private bool isDate(string time)
{
try
{
DateTime dd = DateTime.Parse(time);
return true;
}
catch
{
return false;
}
}
#endregion
/// <summary>
/// 提交信息
/// </summary>
private void btnOK_Click(object sender, System.EventArgs e)
{
ArrayList arrQues = new ArrayList();//存储要操作的SQL语句
//=======读取提交的信息,并进行合法性校验======
string title = this.txtName.Text.Trim().Replace("'","''");//调查名称
string remark = this.txtRemark.Text.Trim().Replace("'","''");//备注
string stime = this.txtStime.Text.Trim().Replace("'","''");//开始时间
string etime = this.txtEtime.Text.Trim().Replace("'","''");//结束时间
//调查名称
if (title == "")
{
Page.RegisterStartupScript("", "<script>alert('请输入调查名称!')</script>");
return;
}
else if (title.Length > 100)
{
Page.RegisterStartupScript("", "<script>alert('调查名称不能多于100个字!')</script>");
return;
}
//备注
if (remark.Length > 200)
{
Page.RegisterStartupScript("", "<script>alert('备注不能多于200个字!')</script>");
return;
}
//始止时间
if (stime.Trim() != "")
{
if (!isDate(stime))
{
Page.RegisterStartupScript("", "<script>alert('开始时间格式不正确!')</script>");
return;
}
}
if (etime.Trim() != "")
{
if (!isDate(etime))
{
Page.RegisterStartupScript("", "<script>alert('结束时间格式不正确!')</script>");
return;
}
}
//============ end ===============
string res1 = "";
bool res2 = false;
//调查ID为空,则为新增页面
if(this.txtvoteid.Text==null || this.txtvoteid.Text.Trim()=="")
{
//添加调查记录
string str = "insert into VoteClass(Title, UseFlag, MessageFlag,StartTime,EndTime, Remark) ";
str += "values('" + title + "',0,'" + this.ddlMessage.SelectedValue.ToString() + "','";
str += stime + "','" + etime + "','" + remark + "') ";
res1 = db.ExcCommand(str);
//======判断是否选中问题,如果是则添加调查问题记录======
// 1。判断是否选中问题
int introw = 0;//选中的行数
string strid = string.Empty;//选中问题的ID
for (int i = 0; i < DataGrid1.Items.Count; i++)
{
CheckBox cb = (CheckBox)DataGrid1.Items[i].Controls[0].Controls[1];
if (cb.Checked == true)
{
strid += DataGrid1.Items[i].Cells[1].Text.Trim() + ",";
introw++;
}
}
// 2。如果是则添加调查问题记录
if (introw > 0)
{
// 2。1。读取调查记录ID
string voteid = "";
string strmax = "select max(VoteID) from VoteClass";
DataTable dt = db.GetDataTable(strmax);
if (dt != null && dt.Rows.Count > 0)
{
voteid = dt.Rows[0][0].ToString();
dt.Dispose();
}
// 2。2。添加调查问题记录
string[] quesid = strid.TrimEnd(',').Split(',');
if (quesid.Length > 0)
{
for (int i=0;i<quesid.Length;i++)
{
str = "insert into VoteQuestion(VoteID,QuestionID) values('" + voteid + "','";
str += quesid[i] + "')";
arrQues.Add(str);
}
res2 = db.TransCommanArray(arrQues);
arrQues.Clear();
}
}
}
else//修改页面
{
//修改调查记录
string str = "update VoteClass set Title ='" + title + "',StartTime='" + stime + "',EndTime='";
str += etime + "',MessageFlag='" + this.ddlMessage.SelectedValue.ToString() + "',Remark='";
str += remark + "' where VoteID='" + this.txtvoteid.Text + "'";
arrQues.Add(str);
//删除相关调查问题记录
str = "delete VoteQuestion where VoteID='" + this.txtvoteid.Text + "'";
arrQues.Add(str);
db.TransCommanArray(arrQues);
arrQues.Clear();
//======判断是否选中问题,如果是则添加调查问题记录======
// 1。判断是否选中问题
int introw = 0;//选中的行数
string strid = string.Empty;//选中问题的ID
for (int i = 0; i < DataGrid1.Items.Count; i++)
{
CheckBox cb = (CheckBox)DataGrid1.Items[i].Controls[0].Controls[1];
if (cb.Checked == true)
{
strid += DataGrid1.Items[i].Cells[1].Text.Trim() + ",";
introw++;
}
}
// 2。如果是则添加调查问题记录
if (introw > 0)
{
// 添加调查问题记录
string[] quesid = strid.TrimEnd(',').Split(',');
if (quesid.Length > 0)
{
for (int i=0;i<quesid.Length;i++)
{
str = "insert into VoteQuestion(VoteID,QuestionID) values('" + this.txtvoteid.Text;
str += "','" + quesid[i] + "')";
arrQues.Add(str);
}
res2 = db.TransCommanArray(arrQues);
arrQues.Clear();
}
}
}
//保存数据到数据库
if (res1 == "" && res2 == true)
{
Page.RegisterStartupScript("", "<script>alert('保存成功');location.replace('VoteList.aspx');</script>");
}
else
{
Page.RegisterStartupScript("", "<script>alert('保存失败')</script>");
return;
}
if (db != null)
{
db.Dispose();
}
}
/// <summary>
/// 返回
/// </summary>
private void btnCancle_Click(object sender, System.EventArgs e)
{
Response.Redirect("VoteList.aspx");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -