📄 admin_class.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;
using System.Data.SqlClient;
using System.Configuration;
namespace WebNews.admin
{
/// <summary>
/// admin_class 的摘要说明。
/// </summary>
public class admin_class : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid MyDataGrid;
protected System.Web.UI.WebControls.Label myLabel;
protected System.Web.UI.WebControls.Label lblCurrentIndex;
protected System.Web.UI.WebControls.Label lblPageCount;
DataRow dr;
string con=ConfigurationSettings.AppSettings["dsn"];
public string oldclass;
protected System.Web.UI.WebControls.LinkButton btnFirst;
protected System.Web.UI.WebControls.LinkButton LinkButton2;
protected System.Web.UI.WebControls.LinkButton LinkButton1;
protected System.Web.UI.WebControls.LinkButton LinkButton3;
public DataSet ds=new DataSet();
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
string userclass;
userclass=(string)Session["userclass"];
if(userclass.Trim()=="系统管理员")
{
getClass();
}
else Page.Visible=false;
}
}
private void getClass() //得到头条新闻
{
try
{
string con=ConfigurationSettings.AppSettings["dsn"];
SqlConnection conn = new SqlConnection(con);//连接字符串
conn.Open();
SqlDataAdapter myCommand = new SqlDataAdapter(); //创建SqlDataAdapter 类
myCommand.SelectCommand=new SqlCommand("sp_selFclassAll",conn);
myCommand.SelectCommand.CommandType=CommandType.StoredProcedure ;
myCommand.Fill(ds,"class");
MyDataGrid.DataSource=ds;
MyDataGrid.DataBind();
lblCurrentIndex.Text="第"+((Int32)MyDataGrid.CurrentPageIndex+1)+"页";
lblPageCount.Text="/共"+MyDataGrid.PageCount+"页";
// MyDataGrid.DataSource=ds; //绑定
// MyDataGrid.DataBind();
conn.Close();
}
catch(SqlException e)
{
Console.WriteLine("Exception in Main: " + e.Message); //出错处理
}
}
private void updateArticle(string a,string b) //把所有具有原分类的文章分类名改成现有分类
{
try
{
SqlConnection conn = new SqlConnection(con);//连接字符串
conn.Open();
SqlCommand cmd=new SqlCommand("sp_updateArticleByClass",conn);
cmd.CommandType=CommandType.StoredProcedure;
SqlParameter ce=cmd.Parameters.Add("@classname",SqlDbType.Char,200);
ce.Value=a.Trim();
SqlParameter oce=cmd.Parameters.Add("@oldclassname",SqlDbType.Char,200);
oce.Value=b.Trim();
int i=cmd.ExecuteNonQuery();
if(i>0)
{
}
conn.Close();
}
catch(SqlException e)
{
Console.WriteLine("Exception in Main: " + e.Message); //出错处理
}
}
private void delClass(object d) //删除分类
{
try
{
SqlConnection conn = new SqlConnection(con);//连接字符串
conn.Open();
SqlCommand delClass=new SqlCommand("sp_delClass",conn);
delClass.CommandType=CommandType.StoredProcedure;
SqlParameter cl=delClass.Parameters.Add("@classId",SqlDbType.BigInt);
cl.Value=d;
int i=delClass.ExecuteNonQuery();
if(i>0)
{
myLabel.Text="删除"+"成功";
}
else myLabel.Text="删除"+"失败";
conn.Close();
}
catch(SqlException er)
{
Console.WriteLine("Exception in Main: " + er.Message); //出错处理
}
}
public string show(object a)
{
string b=a.ToString() ;
return b;
}
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;
}
getClass();
}
#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.Load += new System.EventHandler(this.Page_Load);
}
#endregion
public void MyDataGrid_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(Page.IsValid)
{
try
{
SqlConnection myConnection = new SqlConnection(con);//连接字符串
myConnection.Open();
TextBox classname=(TextBox)e.Item.Cells[1].Controls[1]; //取得TextBox中的控件值
string clne=classname.Text.Trim();
string oldname=(string)Session["oldclass"];
if(clne==oldname)
{
myLabel.Text="你分类名没改,没必要修改!"; //分类没改,则不必修改
}
else
{
SqlCommand validateClass=new SqlCommand("sp_selFclass",myConnection);
validateClass.CommandType=CommandType.StoredProcedure;
SqlParameter cl=validateClass.Parameters.Add("@className",SqlDbType.Char,200);
cl.Value=classname.Text;
SqlDataReader validateReader=validateClass.ExecuteReader();
if(validateReader.Read()==true) //如分类名已有,重输
{
myLabel.Text="已有此分类名,请重新输入一个!!";
validateReader.Close();
myConnection.Close();
}
else
{
try
{
validateReader.Close();
myConnection.Close();
SqlConnection cont = new SqlConnection(con);
cont.Open();
SqlCommand updateClass=new SqlCommand("sp_updateClass",cont); //通过存储过程更新
updateClass.CommandType=CommandType.StoredProcedure;
SqlParameter sd=updateClass.Parameters.Add("@className",SqlDbType.Char,200);
sd.Value=clne.Trim();
SqlParameter se=updateClass.Parameters.Add("@oldclassname",SqlDbType.Char,200);
se.Value=oldname.Trim();
int rt=updateClass.ExecuteNonQuery(); //更新
if(rt>0)
{
myLabel.Text="更新成功!";
cont.Close();
updateArticle(clne.Trim(),oldname.Trim()) ;
MyDataGrid.EditItemIndex = -1; //回到编辑状态
getClass();
}
else
{
myLabel.Text="更新错误!";
cont.Close();
}
}
catch(SqlException er)
{
Console.WriteLine("Exception in Main: " + er.Message); //出错处理
}
}
}
}
catch(SqlException er)
{
Console.WriteLine("Exception in Main: " + er.Message); //出错处理
}
}
}
public void MyDataGrid_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string num=e.Item.Cells[2].Text; //取得文章数
num=num.Trim();
if(num!="0") //验证分类是否有文章
{
myLabel.Text="你不能删除有文章数的分类!";
}
else
{
delClass(this.MyDataGrid.DataKeys[e.Item.ItemIndex]);
int d=MyDataGrid.PageCount % MyDataGrid.PageSize;
if(d==0)
{
MyDataGrid.CurrentPageIndex= MyDataGrid.CurrentPageIndex-1;
}
getClass();
}
}
public void MyDataGrid_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
this.MyDataGrid.EditItemIndex = -1;
getClass();
}
public void MyDataGrid_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
this.MyDataGrid.EditItemIndex = e.Item.ItemIndex;
getClass();
dr=ds.Tables["class"].Rows[MyDataGrid.EditItemIndex] ; //取得popedom字段
oldclass=(string)dr["className"];
oldclass=oldclass.Trim();
Session["oldclass"]=oldclass;
Response.Write(Session["oldclass"]);
}
public void MyDataGrid_SelectedIndexChanged(object sender,System.EventArgs e)
{
getClass();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -