分类:
2008-10-15 16:38:01
在一个网站应用系统里,系统管理员拥有管理用户的权限。在本登录模块里,让管理员有查询用户的信息权限。
界面设计
在登录界面,如果系统发现登录用户的权限是“管理员”,则跳转进入后台管理员管理模块。在这个模块里,管理员可以输入“用户名”或“用户昵称”,单击“查找”按钮查询用户信息,查询结果用gridview显示。按照图4-8所示设计界面。
图4-8 后台管理员界面
表4-6列出了后台管理员界面里各主要控件的类型和功能。
控 件 ID | 控 件 类 型 | 功 能 描 述 |
Label2 | Label | 用来显示“用户名” 字符 |
Label4 | Label | 用来显示“用户昵称”字符 |
tbxUserName | TextBox(textMode是SingleLine) | 用来接收输入的“用户名” 值 |
tbxNickName | TextBox(textMode是SingleLine) | 用来接收输入的“用户昵称” 值 |
btnSearch | button | 查找按钮 |
gvUserSearc | gridview | 用于显示查询到的用户信息 |
业务逻辑设计
按以下步骤编写Manager.aspx的业务逻辑设计代码。
(1) 双击Manager.aspx窗体的空白处,进入相应的逻辑代码文件Manager.aspx.cs。同样在该文件的顶端,添加数据库访问引用的命名空间语句。
using System.Data.SqlClient;
并在class的开头添加连接数据库的字符串定义。
private static string strConnect =System.Configuration.ConfigurationManager.AppSettings["connStr"];
(2) 在Manager.aspx的设计里,双击“查找”按钮,进入按钮的事件处理函数。该函数的代码如下。
// 单击查找事件
protected void btnSearch_Click(object sender, EventArgs e)
{
// 数据库连接
SqlConnection objConnection = new SqlConnection(strConnect);
// 数据库命令
SqlCommand objCommand = new SqlCommand("", objConnection);
// 设置Sql语句,多表连接,获取用户权限
// 这里有个小技巧:在where从句里,查询条件或有或无
// 所以使用where 1=1 这样的语句,避免因无查询条件而带来的错误
objCommand.CommandText =" SELECT USERS.USERNAME, USERS.NICKNAME,USERS.USEREMAIL, USERROLE.ROLENAME " +" FROM USERS " + " LEFT JOIN USERROLE ON USERS.USERROLE = USERROLE.ROLELEVEL " +" WHERE 1=1 ";
if (tbxUserName.Text != "")
objCommand.CommandText += " AND USERS.USERNAME LIKE @USERNAME";
if (tbxNickName.Text != "")
[1]