Files
10228-luntan/articleEdit.aspx.cs
2025-05-26 19:32:10 +08:00

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();
}
}