⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userloginl.ascx.cs

📁 用C#事先的简单相册,带有FLASH功能,使用了AJAX
💻 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 + -