蛙蛙推荐:偶做的用户管理系统

类别:Asp 点击:0 评论:0 推荐:
蛙蛙推荐:偶做的用户管理系统
因为代码比较多,只贴一下,添加用户的代码,我把表示层和业务逻辑层分开了,单独建立了一个Cls_user的类来对用户集中进行管理,里面包括了对用户的添加,删除,修改的方法,以及访问用户的名称,密码,权限等的字段,这样分开做也符合多层架构的原则,我没有单独做dal层,因为我部打算以后换数据库.
在前台的窗体中有几个下拉列表控件,我是分别用散列表和DataTable来做数据动态绑定的,也算是一个小技巧吧.
在业务逻辑的类里我用使用了方法的输出参数,大家可以顺便看一下输出参数怎么用.

先贴前台的显示代码?注意dropdownlist控件的DataTextField和DataValueField属性

add_user.aspx
<%@  Page  language="c#"  Codebehind="adduser.aspx.cs"  AutoEventWireup="false"  Inherits="oa.admin.users.adduser"  %>
<!DOCTYPE  HTML  PUBLIC  "-//W3C//DTD  HTML  4.0  Transitional//EN"  >
<HTML>
<HEAD>
<title>adduser</title>
<meta  content="False"  name="vs_snapToGrid">
<meta  content="Microsoft  Visual  Studio  .NET  7.1"  name="GENERATOR">
<meta  content="C#"  name="CODE_LANGUAGE">
<meta  content="JavaScript"  name="vs_defaultClientScript">
<meta  content="http://schemas.microsoft.com/intellisense/ie5"  name="vs_targetSchema">
<LINK  href="../../style/wawa.css"  type="text/css"  rel="stylesheet">
</HEAD>
<body  MS_POSITIONING="FlowLayout">
<form  id="Form1"  method="post"  runat="server">
<TABLE  id="Table1"  cellSpacing="1"  cellPadding="1"  width="500"  border="1">
<TR>
<TD  align="left"  colSpan="3">
<P  align="center"><FONT  face="宋体"></FONT><FONT  face="宋体">添加用户</FONT></P>
</TD>
</TR>
<TR>
<TD  style="HEIGHT:  16px">
<P  align="right"><FONT  face="宋体">用户名:</FONT></P>
</TD>
<TD  style="HEIGHT:  16px"  align="left">
<P  align="left"><FONT  face="宋体"><asp:textbox  id="User_Name"  runat="server"></asp:textbox></FONT></P>
</TD>
<TD  style="HEIGHT:  16px"><FONT  face="宋体">
<P  align="left"><asp:requiredfieldvalidator  id="RequiredFieldValidator1"  runat="server"  ControlToValidate="User_Name"  ErrorMessage="用户名不能为空"></asp:requiredfieldvalidator></P>
</FONT>
</TD>
</TR>
<TR>
<TD>
<P  align="right"><FONT  face="宋体">密码:</FONT></P>
</TD>
<TD  align="left">
<P  align="left"><FONT  face="宋体"><asp:textbox  id="User_Psw"  runat="server"  TextMode="Password"></asp:textbox></FONT></P>
</TD>
<TD>
<P  align="left"><asp:requiredfieldvalidator  id="RequiredFieldValidator2"  runat="server"  ControlToValidate="User_Psw"  ErrorMessage="密码不能为空"></asp:requiredfieldvalidator></P>
</TD>
</TR>
<TR>
<TD  style="HEIGHT:  17px">
<P  align="right"><FONT  face="宋体">用户类型:</FONT></P>
</TD>
<TD  style="HEIGHT:  17px"  align="left">
<P  align="left"><FONT  face="宋体"><asp:dropdownlist  id="User_Flag"  runat="server"  DataTextField="Key"  DataValueField="Value"></asp:dropdownlist></FONT></P>
</TD>
<TD  style="HEIGHT:  17px">
<P  align="right"><FONT  face="宋体"></FONT>  </P>
</TD>
</TR>
<TR>
<TD>
<P  align="right"><FONT  face="宋体">单位名称:</FONT></P>
</TD>
<TD  align="left">
<P  align="left"><FONT  face="宋体"><asp:textbox  id="User_DanWei"  runat="server"></asp:textbox></FONT></P>
</TD>
<TD>
<P  align="left"><asp:requiredfieldvalidator  id="RequiredFieldValidator3"  runat="server"  ControlToValidate="User_DanWei"  ErrorMessage="单位名称不能为空"></asp:requiredfieldvalidator></P>
</TD>
</TR>
<TR>
<TD>
<P  align="right"><FONT  face="宋体">地区:</FONT></P>
</TD>
<TD  align="left">
<P  align="left"><asp:dropdownlist  id="User_Address"  runat="server"  DataTextField="s2"  DataValueField="s1"></asp:dropdownlist></P>
</TD>
<TD>
<P  align="right">  </P>
</TD>
</TR>
<TR>
<TD  style="HEIGHT:  17px">
<P  align="right"><FONT  face="宋体">用户说明:</FONT></P>
</TD>
<TD  style="HEIGHT:  17px"  align="left"><asp:textbox  id="User_ShuoMing"  runat="server"  TextMode="MultiLine"></asp:textbox></TD>
<TD  style="HEIGHT:  17px"><asp:requiredfieldvalidator  id="RequiredFieldValidator4"  runat="server"  ControlToValidate="User_ShuoMing"  ErrorMessage="用户说明不能为空"></asp:requiredfieldvalidator></TD>
</TR>
<TR>
<TD></TD>
<TD  align="left"><asp:button  id="Button1"  runat="server"  Text="添加用户"></asp:button></TD>
<TD><FONT  face="宋体"></FONT></TD>
</TR>
</TABLE>
</form>
</body>
</HTML>
再贴这个文件的后台编码类:
add_user.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;

namespace  oa.admin.users
{
///  <summary>
///  adduser  的摘要说明。
///  </summary>
public  class  adduser  :  System.Web.UI.Page
{
protected  System.Web.UI.WebControls.RequiredFieldValidator  RequiredFieldValidator1;
protected  System.Web.UI.WebControls.RequiredFieldValidator  RequiredFieldValidator2;
protected  System.Web.UI.WebControls.RequiredFieldValidator  RequiredFieldValidator3;
protected  System.Web.UI.WebControls.TextBox  User_Name;
protected  System.Web.UI.WebControls.TextBox  User_Psw;
protected  System.Web.UI.WebControls.DropDownList  User_Flag;
protected  System.Web.UI.WebControls.TextBox  User_DanWei;
protected  System.Web.UI.WebControls.DropDownList  User_Address;
protected  System.Web.UI.WebControls.TextBox  User_ShuoMing;
protected  System.Web.UI.WebControls.Button  Button1;
protected  System.Web.UI.WebControls.RequiredFieldValidator  RequiredFieldValidator4;

private  void  Page_Load(object  sender,  System.EventArgs  e)
{
User_Flag.DataSource=ht_User_Flag();
User_Flag.DataBind();
ListItem  li=new  ListItem();
li.Value="0";
li.Text="系统管理员";
User_Flag.Items.Insert(0,li);

User_Address.DataSource=dt_User_Address();
User_Address.DataBind();

//  在此处放置用户代码以初始化页面
}

ICollection  ht_User_Flag()
{
Hashtable  ht=new  Hashtable();
ht.Add("厅领导","1");
ht.Add("省律师协会","2");
ht.Add("省律师处","3");
ht.Add("市律师协会","4");
ht.Add("市律师处","5");
ht.Add("省直律师事务所","6");
return  ht;
}
ICollection  dt_User_Address()  
{  
//其实向这样text和value值相同的用ArrayList做绑定源也不错
DataTable  dt  =  new  DataTable();
//DataRow  dr;
DataRow[]  dr=new  DataRow[6];
dt.Columns.Add(new  DataColumn("s1",  typeof(string)));
dt.Columns.Add(new  DataColumn("s2",  typeof(string)));
dr[0]=dt.NewRow();
dr[0]["s1"]="石家庄";
dr[0]["s2"]="石家庄";
dt.Rows.Add(dr[0]);
dr[1]=dt.NewRow();
dr[1]["s1"]="保定";
dr[1]["s2"]="保定";
dt.Rows.Add(dr[1]);
dr[2]=dt.NewRow();
dr[2]["s1"]="邢台";
dr[2]["s2"]="邢台";
dt.Rows.Add(dr[2]);
dr[3]=dt.NewRow();
dr[3]["s1"]="张家口";
dr[3]["s2"]="张家口";
dt.Rows.Add(dr[3]);
dr[4]=dt.NewRow();
dr[4]["s1"]="衡水";
dr[4]["s2"]="衡水";
dt.Rows.Add(dr[4]);
dr[5]=dt.NewRow();
dr[5]["s1"]="沧州";
dr[5]["s2"]="沧州";
dt.Rows.Add(dr[5]);

DataView  dv  =  new  DataView(dt);
return  dv;
}

#region  Web  窗体设计器生成的代码
override  protected  void  OnInit(EventArgs  e)
{
//
//  CODEGEN:  该调用是  ASP.NET  Web  窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

private  void  InitializeComponent()
{        
this.Button1.Click  +=  new  System.EventHandler(this.Button1_Click);
this.Load  +=  new  System.EventHandler(this.Page_Load);

}
#endregion

private  void  Button1_Click(object  sender,  System.EventArgs  e)
{
string  msg;
oa.cls.Cls_user  user=new  oa.cls.Cls_user();
user.User_Name=User_Name.Text.ToString();
user.User_Psw=User_Psw.Text.ToString();
user.User_Flag=User_Flag.SelectedItem.Value.ToString();
user.User_DanWei=User_DanWei.Text.ToString();
user.User_Address=User_Address.SelectedItem.Value.ToString();
user.User_ShuoMing=User_ShuoMing.Text.ToString();
if(user.AddUser(out  msg))
{
Response.Write("<script>alert('"+msg+"');location.href='adduser.aspx';</script>");

}
else{
Response.Write("没有添加成功<br>出错信息:"+msg+"<br>sql语句"+user.sql);
}

}
}
}
最后贴我写的用户管理的类的源代码:
using  System;
using  System.Data.SqlClient;
using  System.Configuration;
namespace  oa.cls
{
///  <summary>
///  Cls_user  的摘要说明。
///  </summary>
public  class  Cls_user
{
public  Cls_user()
{
myconn=new  SqlConnection((string)ConfigurationSettings.AppSettings["connstring"]);//连接数据库
myconn.Open();//打开  
}

public  string  User_Name;  //用户名
public  string  User_Psw;//用户密码
public  string  User_Flag;//用户权限
public  string  User_DanWei;//用户单位
public  string  User_Address;//用户地址
public  string  User_ShuoMing;//用户说明
private  SqlConnection  myconn;
public  string  sql;

public  bool  AddUser(out  string  msg)
{
//用户添加
sql  =  "insert  into  [Web_User]  (User_Name,User_Psw,User_Flag,User_DanWei,User_Address,User_ShuoMing)  values('"+User_Name+"','"+User_Psw+"',"+User_Flag+",'"+User_DanWei+"','"+User_Address+"','"+User_ShuoMing+"')";
SqlCommand  cmd  =  new  SqlCommand(sql,  myconn);
msg="用户添加成功";
try  
{
cmd.ExecuteNonQuery();
return  true;

}
catch  (SqlException  exc)  
{
msg=exc.Message;
return  false;
}
finally  
{
myconn.Close();  
}
}
public  bool  EditUser()
{
return  true;
}
public  bool  DelUser()
{
return  true;
}
}
}

本文地址:http://com.8s8s.com/it/it8875.htm