⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 admin_article.aspx.cs

📁 非常完整的新闻发布系统
💻 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;
using System.Data.SqlClient;
using System.Configuration;
namespace WebNews.admin
{
	/// <summary>
	/// admin_article 的摘要说明。
	/// </summary>
	public class admin_article : System.Web.UI.Page
	{
		protected System.Data.SqlClient.SqlConnection SqlConnection1;		//添加数据库的操作对象
		protected System.Data.SqlClient.SqlDataAdapter SqlDataAdapter1;
		protected System.Data.DataSet DataSet1;
		protected System.Data.SqlClient.SqlCommand SqlCommand1;
		protected System.Data.SqlClient.SqlDataReader SqlDataReader1;

		protected System.Web.UI.WebControls.Button Button1;
		protected System.Web.UI.WebControls.Label myLabel;
		protected System.Web.UI.WebControls.TextBox keyword;
		protected System.Web.UI.WebControls.DropDownList search;
		protected System.Web.UI.WebControls.LinkButton LinkButton1;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
		protected System.Web.UI.WebControls.LinkButton btnFirst;
		protected System.Web.UI.WebControls.LinkButton LinkButton2;
		protected System.Web.UI.WebControls.LinkButton Linkbutton3;
		protected System.Web.UI.WebControls.LinkButton Linkbutton4;
		protected System.Web.UI.WebControls.Label lblCurrentIndex;
		protected System.Web.UI.WebControls.Label lblPageCount;
		protected System.Web.UI.WebControls.DropDownList DropDownList1;
		protected System.Web.UI.WebControls.Button Button2;
		protected System.Web.UI.WebControls.DropDownList DropDownList2;
		protected System.Web.UI.WebControls.Button Button3;
		protected System.Web.UI.WebControls.DataGrid MyDataGrid;
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			if(!Page.IsPostBack)
			{
				getClass();				
                getArticle();
				for(int i=1;i<=MyDataGrid.PageCount;i++)
				{
					DropDownList2.Items.Add("第"+i+"页");
				}			
			} 
		}

		private void getClass()									 //根据权限设置分类和ClassName控件的下拉列表
		{	
			string  da=(string)Session["userclass"]	;
			string  classname=(string)Session["classname"];
			if(da.Trim()=="系统管理员")
			{
				SqlConnection1 = new SqlConnection(ConfigurationSettings.AppSettings["dsn"]);//连接字符串,建立连接
				SqlDataAdapter1 = new SqlDataAdapter();
				SqlDataAdapter1.SelectCommand=new SqlCommand("sp_selFclassAll",SqlConnection1);
				SqlDataAdapter1.SelectCommand.CommandType=CommandType.StoredProcedure ;
				DataSet1=new DataSet();		
				try
				{
					SqlDataAdapter1.Fill(DataSet1,"ClassName");
				}
				catch (SqlException e1)
				{
					myLabel.Text ="数据库操作错误:"+e1.Message;				
				}
				DropDownList1.DataSource=DataSet1.Tables["ClassName"].DefaultView;
				DropDownList1.DataTextField="className";
				DropDownList1.DataValueField="className";
				DropDownList1.DataBind(); 
				SqlConnection1.Close();
				DropDownList1.Items.Add("全部");
				DropDownList1.Items.FindByText("全部").Selected=true;
			}
			else	//不是系统管理员,只能管理一个新闻分类
			{
				ListItem d=new ListItem(classname,classname);				
				DropDownList1.Items.Add(d);
			}
		}

		private void getArticle()						//取得Article数据
		{
			SqlConnection1 = new SqlConnection(ConfigurationSettings.AppSettings["dsn"]);//取连接字符串,建立连接
			SqlDataAdapter1 = new SqlDataAdapter();
			string g=(string)Session["userclass"];	
			string h=(string)Session["classname"];
			if(g.Trim()=="系统管理员"&&h.Trim()=="12")	
			{
				SqlDataAdapter1.SelectCommand=new SqlCommand("SELECT * FROM db_Article ORDER BY dateandtime DESC ",SqlConnection1);
			}
			else 
			{
				SqlDataAdapter1.SelectCommand=new SqlCommand("SELECT * FROM db_Article WHERE (classname = @classname) ORDER BY dateandtime DESC",SqlConnection1);
				SqlDataAdapter1.SelectCommand.Parameters.Add("@classname",SqlDbType.Char,40);
				SqlDataAdapter1.SelectCommand.Parameters["@classname"].Value=(string)Session["classname"];		
			}
			DataSet1=new DataSet();		
			try
			{
				SqlDataAdapter1.Fill(DataSet1,"Article");
			}
			catch (SqlException e1)
			{
				myLabel.Text ="数据库操作错误:"+e1.Message;				
			}
			MyDataGrid.DataSource=DataSet1;
			MyDataGrid.DataBind();			
			lblCurrentIndex.Text="第"+((Int32)MyDataGrid.CurrentPageIndex+1)+"页";
			lblPageCount.Text="/共"+MyDataGrid.PageCount+"页";			
			string  da=(string)Session["userclass"]	;
            if(da.Trim()=="系统管理员")
			{
				Session["classname"]="12";
			}
		}	

		public	void PagerButtonClick(Object sender, EventArgs e)
		{
			//获得LinkButton的参数值
			string arg = ((LinkButton)sender).CommandArgument;
			switch(arg)
			{
				case ("next"):
				{
					if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
						MyDataGrid.CurrentPageIndex ++;
					break;
				}
				case ("prev"):
				{
					if (MyDataGrid.CurrentPageIndex > 0)
						MyDataGrid.CurrentPageIndex --;
					break;
				}
				case ("last"):
				{
					MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
					break;
				}
				case("first"):
				{
					MyDataGrid.CurrentPageIndex =0;
					break;
				}
			}
			if(DropDownList1.SelectedItem.Text.Trim()=="全部")
			{
				getArticle();
			}
			else
			{
				Session["classname"]=DropDownList1.SelectedItem.Text.Trim();
				getArticle();	
			}
		}

		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{   
			this.Button2.Click += new System.EventHandler(this.Button2_Click);
			this.MyDataGrid.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.MyDataGrid_PageIndexChanged);
			this.MyDataGrid.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.MyDataGrid_DeleteCommand);
			this.MyDataGrid.SelectedIndexChanged += new System.EventHandler(this.MyDataGrid_SelectedIndexChanged);
			this.DropDownList2.SelectedIndexChanged += new System.EventHandler(this.DropDownList2_SelectedIndexChanged);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		public void MyDataGrid_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)	//删除新闻
		{	  
			string c=(string)Session["userclass"];			
			if(c.Trim()=="系统管理员"||(int)Session["chgnews"]==1)
			{	//删除分类发表文章数			
				SqlConnection1 = new SqlConnection(ConfigurationSettings.AppSettings["dsn"]); //取连接字符串,并建立连接
				SqlCommand1=new SqlCommand("sp_delClassNum",SqlConnection1); 
				SqlCommand1.CommandType=CommandType.StoredProcedure;
				SqlCommand1.Parameters.Add("@className",SqlDbType.Char);
				SqlCommand1.Parameters["@className"].Value = e.Item.Cells[2].Text.Trim();	//Session["classname"].ToString().Trim();
				try
				{
					SqlConnection1.Open();
					SqlCommand1.ExecuteNonQuery();										
				}
				catch (SqlException e1)
				{
					myLabel.Text ="数据库操作错误:"+e1.Message;
				}
				SqlConnection1.Close();					
				//删除文章
				SqlCommand1=new SqlCommand("sp_delArticle",SqlConnection1); 
				SqlCommand1.CommandType=CommandType.StoredProcedure;
				SqlCommand1.Parameters.Add(new SqlParameter("@articleid",SqlDbType.BigInt));
				SqlCommand1.Parameters["@articleid"].Value = MyDataGrid.DataKeys[e.Item.ItemIndex]; 
				try
				{
					SqlConnection1.Open();
					int r=SqlCommand1.ExecuteNonQuery();
					if(r>0)
					{
						myLabel.Text="删除成功!";						
					}
					else
					{
						myLabel.Text="删除错误!";
					}					
					getArticle();
				}
				catch (SqlException e1)
				{
					myLabel.Text ="数据库操作错误:"+e1.Message;
				}
				SqlConnection1.Close();  
				//删除管理员发表文章数
				SqlCommand1=new SqlCommand("sp_delNum",SqlConnection1); 
				SqlCommand1.CommandType=CommandType.StoredProcedure;
				SqlCommand1.Parameters.Add(new SqlParameter("@username",SqlDbType.Char,200));
				SqlCommand1.Parameters["@username"].Value = e.Item.Cells[4].Text.Trim();	//文章的发表者
				try
				{
					SqlConnection1.Open();
					SqlCommand1.ExecuteNonQuery();										
				}
				catch (SqlException e1)
				{
					myLabel.Text ="数据库操作错误:"+e1.Message;
				}
				SqlConnection1.Close();	
			}
			else
			{
				myLabel.Text="你无权删除此新闻";
            }
		}

		private void LinkButton1_Click(object sender, System.EventArgs e)	//搜索数据库
		{
			if(Page.IsValid)
			{
				SqlConnection1 = new SqlConnection(ConfigurationSettings.AppSettings["dsn"]);//取连接字符串,建连接
				SqlDataAdapter1 = new SqlDataAdapter();		
				if(search.SelectedIndex==0)	
				{
					SqlDataAdapter1.SelectCommand=new SqlCommand("sp_searchCkArticleByTitle",SqlConnection1);	 
					SqlDataAdapter1.SelectCommand.CommandType=CommandType.StoredProcedure ;
					SqlDataAdapter1.SelectCommand.Parameters.Add("@title",SqlDbType.NVarChar ,500);
					SqlDataAdapter1.SelectCommand.Parameters["@title"].Value=keyword.Text.Trim() ;					
				}
				else 
				{
					SqlDataAdapter1.SelectCommand=new SqlCommand("sp_searchCkArticleByContent",SqlConnection1);	 
					SqlDataAdapter1.SelectCommand.CommandType=CommandType.StoredProcedure ;
					SqlDataAdapter1.SelectCommand.Parameters.Add("@content",SqlDbType.NText);
					SqlDataAdapter1.SelectCommand.Parameters["@content"].Value=keyword.Text.Trim(); 
				}
				DataSet1=new DataSet();		
				try
				{
					SqlDataAdapter1.Fill(DataSet1,"Article");
				}
				catch (SqlException e1)
				{
					myLabel.Text ="数据库操作错误:"+e1.Message;				
				}
				MyDataGrid.DataSource=DataSet1;
				MyDataGrid.DataBind();				
			}
		}
	
		private void MyDataGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
		{
			MyDataGrid.CurrentPageIndex = e.NewPageIndex;    
			getArticle();		
		}

		private void MyDataGrid_SelectedIndexChanged(object sender, System.EventArgs e)
		{
		
		}

		private void Button2_Click(object sender, System.EventArgs e)
		{
			Session["classname"]=DropDownList1.SelectedItem.Text.Trim();
			getArticle();		
		}

		private void DropDownList2_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			MyDataGrid.CurrentPageIndex = DropDownList2.SelectedIndex;
			if(DropDownList1.SelectedItem.Text.Trim()=="全部")
			{
				getArticle();
			}
			else
			{
				Session["classname"]=DropDownList1.SelectedItem.Text.Trim();
				getArticle();	
			}		
		}	
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -