📄 userloginl.ascx.cs
字号:
using System;
using System.Data;
using System.Data.OleDb;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// UserLogin1登录控件
/// </summary>
public partial class UserLoginl : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
// 判断用户登录状态
if (Session["UserID"] == null||Session["UserType"] == null)
{
// 设置未登录所呈现的控件
setControl(true);
HyperLink1.Text = "";
HyperLink1.NavigateUrl = "";
}
else
{
// 设置登录后所呈现的控件
setControl(false);
HyperLink1.Text = "浏览相册";
HyperLink1.NavigateUrl = "Default.aspx";
}
}
/// <summary>
/// 用户单击【登录】按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnLogin_Click(object sender, EventArgs e)
{
// 创建数据连接
DataAccess db = new DataAccess();
// 创建 SQL 命令对象
OleDbCommand oleComm = new OleDbCommand();
oleComm.Connection = db.getConn();
try
{
// 设置存储过程参数
oleComm.CommandText = "ValidateUser";
oleComm.CommandType = CommandType.StoredProcedure;
oleComm.Parameters.Clear();
// 添加获取存储过程返回值参数,并设置参数类型
OleDbParameter pReturn = new OleDbParameter("@ReturnValue", OleDbType.Integer, 4);
pReturn.Direction = ParameterDirection.ReturnValue;
oleComm.Parameters.Add(pReturn);
// 设置存储过程输入参数
oleComm.Parameters.Add(new OleDbParameter("@UserName", OleDbType.VarChar, 40));
oleComm.Parameters.Add(new OleDbParameter("@Password", OleDbType.VarChar, 40));
// 设置存储过程返回用户类型参数
OleDbParameter pOutType = new OleDbParameter("@UserType", OleDbType.Integer, 4);
pOutType.Direction = ParameterDirection.Output;
oleComm.Parameters.Add(pOutType);
// 设置存储过程返回用户ID参数
OleDbParameter pOutID = new OleDbParameter("@UserID", OleDbType.Integer, 4);
pOutID.Direction = ParameterDirection.Output;
oleComm.Parameters.Add(pOutID);
// 为存储过程传入参数值
oleComm.Parameters["@UserName"].Value = txtUserName.Text;
oleComm.Parameters["@Password"].Value = txtPwd.Text;
// 执行存储过程
oleComm.ExecuteNonQuery();
// 获取存储过程返回值
int iret = Convert.ToInt32(oleComm.Parameters["@ReturnValue"].Value.ToString());
// 根据返回值判断用户是否登录成功
if (iret == 0)
{
Session["UserID"] = oleComm.Parameters["@UserID"].Value;
Session["UserType"] = oleComm.Parameters["@UserType"].Value;
// 登录成功,显示功能控件
setControl(false);
HyperLink1.Text = "浏览相册";
HyperLink1.NavigateUrl = "Default.aspx";
}
else
{
// 登录失败
setControl(true);
HyperLink1.Text = "用户名或密码错";
HyperLink1.NavigateUrl = "";
}
}
catch (OleDbException em)
{
}
finally
{
// 关闭数据连接
db.Close();
}
}
/// <summary>
/// 设置各控件是否显示出来
/// </summary>
/// <param name="blVal">是否显示控件</param>
public void setControl(Boolean blVal)
{
Label2.Visible = blVal;
txtUserName.Visible = blVal;
Label1.Visible = blVal;
txtPwd.Visible = blVal;
btnLogin.Visible = blVal;
HyperLink1.Visible = true;
linkUser.Visible = false;
// 判断用户是否已登录
if (Session["UserType"] != null)
{
// 根据用户类型判断是否显示用户管理功能模块
if (Session["UserType"].ToString() == "1")
{
linkUser.Visible = true;
}
}
linkLogout.Visible = !blVal;
linkPhoto.Visible = !blVal;
linkCate.Visible = !blVal;
linkPwd.Visible = !blVal;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -