125 lines
5.7 KiB
C#
125 lines
5.7 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
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;
|
|
|
|
public partial class articleEdit : System.Web.UI.Page
|
|
{
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
//处理安全性
|
|
if (Session["login"] == null || Session["login"].ToString() != "true")
|
|
{
|
|
message.InnerHtml = function.redirect("Default.aspx", "您没有正常登录!");
|
|
}
|
|
else
|
|
{
|
|
if (Request.QueryString["action"] != null && Request.QueryString["action"].ToString() == "add")
|
|
{
|
|
addEdit_OK.Text = "发表新帖";
|
|
idValue.Value = "-1";
|
|
//绑定类别
|
|
string classSql = "select * from class";
|
|
classname.DataSource = DbManager.getReader(classSql);
|
|
classname.DataTextField = "classname";
|
|
classname.DataValueField = "id";
|
|
classname.DataBind();
|
|
DbManager.closeConnection();
|
|
}
|
|
if (Request.QueryString["action"] != null && Request.QueryString["action"].ToString() == "edit")
|
|
{
|
|
addEdit_OK.Text = "更新帖子";
|
|
idValue.Value = Request.QueryString["id"].ToString();
|
|
//绑定类别及原信息,更新的文章不能够改变其所属类别
|
|
string sql = "select * from article where id=" + Convert.ToInt32(Request.QueryString["id"].ToString());
|
|
SqlDataReader reader = DbManager.getReader(sql);
|
|
if (reader.HasRows)
|
|
{
|
|
reader.Read();
|
|
ListItem item = new ListItem (reader["classname"].ToString(),reader["classid"].ToString());
|
|
this.classname.Items.Add(item);
|
|
title.Text = reader["title"].ToString();
|
|
content.Text = reader["context"].ToString();
|
|
reader.Close();
|
|
}
|
|
else
|
|
{
|
|
addEdit.Style.Add("display", "none");
|
|
message.InnerHtml = function.redirect("Default.aspx", "更新出错");
|
|
}
|
|
DbManager.closeConnection();
|
|
}
|
|
if (Request.QueryString["action"] != null && Request.QueryString["action"].ToString() == "delete")
|
|
{
|
|
//屏蔽table控件
|
|
addEdit.Style.Add("display", "none");
|
|
string delSql = "delete from article where id=" + Convert.ToInt32(Request.QueryString["id"].ToString());
|
|
if (DbManager.getNonQuery(delSql) > 0)
|
|
{
|
|
//更改作者发帖的总数
|
|
string deleteNum = "update [user] set blognum=blognum-1 where userid='" + Session["userid"].ToString() + "'";
|
|
DbManager.getNonQuery(deleteNum);
|
|
message.InnerHtml = function.redirect("Default.aspx", "删除成功!");
|
|
}
|
|
else
|
|
message.InnerHtml = function.redirect("Default.aspx", "删除失败!");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
protected void addEdit_OK_Click(object sender, EventArgs e)
|
|
{
|
|
//屏蔽table控件
|
|
addEdit.Style.Add("display", "none");
|
|
if (idValue.Value == "-1")
|
|
{
|
|
//处理添加新帖任务
|
|
int classId = Convert.ToInt32(classname.SelectedItem.Value); //类别id
|
|
string classType = classname.SelectedItem.Text;
|
|
string authorid=Session["userid"].ToString();
|
|
string sql = "insert into article(classid,classname,title,authorid,time,context,readnum,replaynum)" +
|
|
" values(" + classId + ",'" + classType + "','" + title.Text + "','" + authorid + "','" + DateTime.Now.ToString() + "','" +
|
|
content.Text + "',0,0)";
|
|
if (DbManager.getNonQuery(sql) > 0)
|
|
{
|
|
//添加成功,使得authorid的blognum字段值加1
|
|
string addSql = "update [user] set blognum=blognum+1 where userid='" + authorid + "'";
|
|
if (DbManager.getNonQuery(addSql) > 0)
|
|
{
|
|
System.IO.StringWriter urlClass = new System.IO.StringWriter();
|
|
Server.UrlEncode(classType, urlClass);
|
|
message.InnerHtml = function.redirect("article.aspx?class=" + urlClass.ToString(), "发帖成功!");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
message.InnerHtml = function.redirect("Default.aspx", "发帖失败");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//处理更新
|
|
int id = Convert.ToInt32(idValue.Value);
|
|
string upSql = "update article set title='" + title.Text + "',context='" + content.Text + "' where id=" + id;
|
|
if (DbManager.getNonQuery(upSql) > 0)
|
|
{
|
|
System.IO.StringWriter urlClass = new System.IO.StringWriter();
|
|
Server.UrlEncode(classname.SelectedItem.Text, urlClass);
|
|
message.InnerHtml = function.redirect("article.aspx?class=" + urlClass.ToString(), "更新成功!");
|
|
}
|
|
else
|
|
message.InnerHtml = function.redirect("Default.aspx", "更新失败 ");
|
|
}
|
|
DbManager.closeConnection();
|
|
}
|
|
}
|