今天学习做一个综合性的小项目,创建一个新闻网站,今天完成了管理员对用户的操作界面和操作,管理员权限的用户通过登录可以对普通权限用户进行修改及删除的操作在管理员界面中插入一个Table控件,以显示数据库中所有的用户,并且带有“修改权限”“删除”两个按钮并且可以实现其对用户的操作功能,有一个独立的Button控件来实现管理员对数据库中添加用户记录的功能,
下面是一段部分代码:
首先做上一个登录界面,代码比较简单,用管理员权限进入以后就是Index界面
下面是在界面上为Table控件动态添加数据及“修改权限”“删除”两个按钮
private void WriteTable(DataTable dt)
{
Table table = new Table();
TableRow row = new TableRow();
TableCell cells = new TableCell();
cells.Text = "用户名";
row.Cells.Add(cells);
cells = new TableCell();
cells.Text = "权限";
row.Cells.Add(cells);
table.Rows.Add(row);
foreach (DataRow row1 in dt.Rows)
{
row = new TableRow();
cells = new TableCell();
cells.Text = row1["UserName"].ToString();
row.Cells.Add(cells);
cells = new TableCell();
cells.Text = row1["Power"].ToString();
row.Cells.Add(cells);
cells = new TableCell();
Button btn = new Button();
btn.Text = "修改权限";
btn.CommandName = "edit";
btn.Command += new CommandEventHandler(btn_Command);
btn.CommandArgument = row1["username"].ToString()+","+row1["power"].ToString ();
cells.Controls.Add(btn);
row.Cells.Add(cells);
Button btn1 = new Button();
btn1.Text = "删除";
btn1.CommandArgument = row1["username"].ToString();
btn1.OnClientClick = "return confirm('确定要删除这条记录吗?');";
btn1.CommandName = "delete";
btn1.Command += new CommandEventHandler(btn_Command);
cells.Controls.Add(btn1);
row.Cells.Add(cells);
table.Rows.Add(row);
}
this.div1.Controls.Add(table);
}
完成添加数据后就开始为按钮添加单击事件吧
通过CommandName来区分“修改权限”和“删除”按钮,
最后实现他们的功能
void btn_Command(object sender, CommandEventArgs e)
{
//编辑单击事件
if (e.CommandName == "edit")
{
Session["username"] = e.CommandArgument;
Response.Redirect("editusers.aspx");
}
else if (e.CommandName == "delete")
{
string str = ConfigurationManager.ConnectionStrings["sqlcnn"].ConnectionString;
using (SqlConnection sqlcon = new SqlConnection(str))
{
SqlCommand sqlcom = new SqlCommand();
sqlcom.CommandText = "delete from users where UserName=@name";
sqlcom.Connection = sqlcon;
sqlcom.Parameters.Add("@name", e.CommandArgument);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
Server.Transfer("~/newmanager/index.aspx");
}
}
}
“Delete”键直接删除该行数据;“Edit”键引导进入另一个界面,执行对用户记录修改的操作,
在另一个界面中,需要添加一个Button控件来确认修改,使用下面的代码实现对用户权限的修改
protected void Page_Load(object sender, EventArgs e)
{
string []str=Session ["username"].ToString().Split(',');
this.TextBox1.Text = str[0].ToString ();
Label1.Text = ""+TextBox1 .Text+ "原始的权限为"+str[1]+"";
}
protected void Button1_Click(object sender, EventArgs e)
{
string str=ConfigurationManager.ConnectionStrings ["sqlcnn"].ConnectionString;
using (SqlConnection sqlcnn = new SqlConnection(str))
{
SqlCommand sqlcmm = new SqlCommand() ;
sqlcmm.CommandText = "update users set power=@power where username=@name";
sqlcmm.Connection = sqlcnn;
sqlcmm.Parameters.Add("@name", TextBox1 .Text);
sqlcmm.Parameters.Add("@power", RadioButtonList1 .SelectedValue );
sqlcnn.Open();
int i = sqlcmm.ExecuteNonQuery();
if (i == 1)
{
Response.Write ("修改成功!");
}
}
}
这样简单的管理员权限的界面就算完成了!
明天将会继续完善这个新闻网站!