第4章 详细设计
4.1 管理员登录模块
管理员登录模块包括系统管理员和记者登录。登录后会进入相应的操作界
面。其登录界面和登录后界面如图4-1-1和图4-1-2所示:
图 4-1-1 管理登录页面效果图
图4-1-2 成功登录后主页面
管理员登录功能部分代码如下:
public partial class login : System.Web.UI.Page
{
protected void conn(string t1, string t2) { try {
string
SqlConnection myConnection = new SqlConnection(con); myConnection.Open();
//连接数据库
SqlCommand cd = new SqlCommand(\, myConnection);//设置SQL命令 cd.CommandType = CommandType.StoredProcedure; //调用存储过程
SqlParameter username = cd.Parameters.Add(\, SqlDbType.Char, 240);
//设置存储过程参数
SqlParameter password = cd.Parameters.Add(\, SqlDbType.NChar, 240); username.Value = t1; password.Value = t2; SqlDataReader selreader;
//设置SqlDataReader 类
//命令执行
//验证
selreader = cd.ExecuteReader(); if (selreader.Read() == true) {
Session[\] = selreader.GetString(3);
string popedom = selreader.GetString(6); //验证是否有增加新闻的功能 Session[\] = selreader.GetString(3); Session[\] = selreader.GetString(7); Session[\] = selreader.GetString(6); Session[\] = selreader.GetString(2); Session[\] = selreader.GetInt64(0); Session[\] = selreader.GetString(6); int i = popedom.Length;
string df = popedom.Replace(\, \); Session[\] = df; int j = df.Length; if (i != j) {
Session[\] = 1; }
else Session[\] = 0; i = popedom.Length; j = df.Length; if (i != j) {
Session[\] = 1;
//验证是否有增加新闻不需审核功能的
df = popedom.Replace(\, \);
con
=
ConfigurationManager.ConnectionStrings[\].ConnectionString;
}
else Session[\] = 0; i = popedom.Length; j = df.Length; if (i != j) {
Session[\] = 1; }
else Session[\] = 0; i = popedom.Length; j = df.Length; if (i != j) {
Session[\] = 1; }
else Session[\] = 0; i = popedom.Length; j = df.Length; if (i != j) {
Session[\] = 1; }
else Session[\] = 0;
selreader.Close(); myConnection.Close();
Response.Redirect(\); } else {
selreader.Close(); myConnection.Close();
Label1.Text = \用户名或密码错误\; } }
catch (SqlException e) {
Console.WriteLine(\ + e.Message); //出错处理 } }
//关闭连接
//转向admin_main.htm
//关闭连接
//验证是否有管理评论的权限
df = popedom.Replace(\, \);
//验证是否有审核新闻的权限
df = popedom.Replace(\, \);
//验证是否有修改新闻的权限
df = popedom.Replace(\, \);
protected void Submit_Click(object sender, EventArgs e) {
if (Page.IsValid) {
string username = Request[\]; //用户名 string password = Request[\]; //密码 Session[\] = username; conn(username, password); } } }
//验证用户密码
4.2 新闻添加、修改功能
在本系统中,新闻的添加和修改功能的界面大同小异,这里就只具体介绍新闻的添加功能。
新闻添加功能界面如图4-3-1所示:
图4-2-1 添加新闻界面图
新闻添加功能部分代码如下:
public partial class admin_admin_articleAdd : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
if (!Page.IsPostBack)
{
string us = (string)Session[\];
if (us.Trim() == \系统管理员\ || (int)Session[\] == 1 || (int)Session[\] == 1) {
getClass(); } else {
Page.Visible = false; } } }
protected void getClass() {
string da = (string)Session[\]; string classname = (string)Session[\]; if (da.Trim() == \系统管理员\) {
string con = ConfigurationManager.ConnectionStrings[\].ConnectionString;
//取得DSN字符
SqlConnection myConnection = new SqlConnection(con);//连接字符串 myConnection.Open();
SqlDataAdapter selClassAll = new SqlDataAdapter(); //创建SqlDataAdapter 类 selClassAll.SelectCommand = new SqlCommand(\, myConnection);
//调用存储过程
selClassAll.SelectCommand.CommandType = CommandType.StoredProcedure; DataSet ds = new DataSet(); selClassAll.Fill(ds, \); ClassName.DataSource = ds;
ClassName.DataTextField = \; ClassName.DataValueField = \; ClassName.DataBind(); myConnection.Close(); } else {
ListItem d = new ListItem(classname, classname); ClassName.Items.Add(d); } }
protected void addhints() {
string username = (string)Session[\];
//增加发表文章数
//根据权限设置分类