C#如何实现"点击登陆框上的确定按钮,然后进入主界面"

登陆框上点击确定后,如果认证通过,如何启动主界面?
(要让登陆框关闭但主界面运行)请高手指点,谢谢!

首先要做用户判断.如果用户存在且用户输入的密码与数据库中的密码匹配,那么就转到主截面.否则提示用户名无效或密码错误.
我这里提供代码.你看一下.
界面上的控件ID要和程序代码中的一致.你在做界面的时候跟据我提供的代码适当的更改.
代码里面用到了我自己写的2个类.分别是UserInfor , 和DataBase
最后,在web.config中增加如下代码:

<appSettings>
<add key="DBConn" value="Data Source=.;Initial Catalog=KeepSecretSys;User ID=sa;Password=guogzliye8411!#"/>
</appSettings>
这段代码是数据库的连接配置,你跟据自己的连接情况,稍做更改
点击确定按钮的代码如下:
//获取用户在页面上的输入
string userLoginName = this.TextBox_Account.Text; //用户登录名
string password = TextBox_Password.Text; //密码
UserInfor user = new UserInfor(); //实例化User类
user.LoadData(userLoginName); //利用User类的LoadData方法,获取用户信息

if (user.Exist) //如果用户存在
{
if (user.Password == password) //如果密码,转入留言列表页面
{
Session.Add("UserID", user.UserID);//使用Session来保存用户登录名信息
Response.Redirect("Index.aspx");

}
else //如果密码错误,给出提示,光标停留在密码框中
{
Response.Write("<Script Language=JavaScript>alert(\"密码错误,请重新输入密码!\")</Script>");
}
}
else //如果用户不存在
{
Response.Write("<Script Language=JavaScript>alert(\"对不起,用户不存在!\")</Script>");
}

UserInfor的代码如下(你在项目中建一个类取名为UserInfor):
#region 私有成员

private string _UserID; //用户ID
private string _Account; //用户登录名
private string _UserName; //用户姓名
private string _Password; //用户密码
//private string _UserSex; //用户地址
//private string _UserMail; //用户主页
//private string _UserInternet; //用户Email
//private string _UserSAP; //用户地址
//private string _UserUnitID; //用户Unit
private string _UserAvail; //用户Email
private DateTime _DateTimeFrom; //员工当前组织单元的起始时间
private DateTime _DateTimeEnd; //员工当前组织单元的终止时间
private ArrayList _DutyPage = new ArrayList(); //用户所有的权限
private ArrayList _DutyNode = new ArrayList(); //用户所有的权限
private string _RoleName;
private bool _UpLoad;
private bool _EnterData;
//private static string DBconnString;
private bool _exist; //是否存在标志

#endregion 私有成员

#region 属性

public string UserID
{
set
{
this._UserID = value;
}
get
{
return this._UserID;
}
}
public string RoleName
{
set
{
this._RoleName = value;
}
get
{
return this._RoleName;
}
}
public ArrayList DutyPage
{
set
{
this._DutyPage = value;
}
get
{
return this._DutyPage;
}
}
public ArrayList DutyNode
{
set
{
this._DutyNode = value;
}
get
{
return this._DutyNode;
}
}
public string Account
{
set
{
this._Account = value;
}
get
{
return this._Account;
}
}
public string UserName
{
set
{
this._UserName = value;
}
get
{
return this._UserName;
}
}
public string Password
{
set
{
this._Password = value;
}
get
{
return this._Password;
}
}

public string UserAvail
{
set
{
this._UserAvail = value;
}
get
{
return this._UserAvail;
}
}
public DateTime DateTimeFrom
{
set
{
this._DateTimeFrom = value;
}
get
{
return this._DateTimeFrom;
}
}
public DateTime DateTimeEnd
{
set
{
this._DateTimeEnd = value;
}
get
{
return this._DateTimeEnd;
}
}
public bool UpLoad
{
set
{
this._UpLoad = value;
}
get
{
return this._UpLoad;
}
}

public bool EnterData
{
set
{
this._EnterData = value;
}
get
{
return this._EnterData;
}
}

public bool Exist
{
get
{
return this._exist;
}
}

#endregion 属性

#region 方法

/// <summary>
/// 根据参数用户帐号,获取用户详细信息
/// </summary>
/// <param name="loginName">用户登录名</param>
public void LoadData(string loginName)
{
DataBase db = new DataBase(); //实例化一个DataBase类

string Sql = "";
Sql = "Select * from UserInfor where UserAvail = 1 and Account = "
+ SqlStringFormat.GetQuotedString(loginName);

DataRow dr = db.GetDataRow(Sql); //利用DataBase类的GetDataRow方法查询用户数据

//根据查询得到的数据,对成员赋值
if (dr != null)
{

this._UserID = GetSafeData.ValidateDataRow_S(dr, "UserID");
this._Account = GetSafeData.ValidateDataRow_S(dr, "Account");
this._UserName = GetSafeData.ValidateDataRow_S(dr, "UserName");
this._Password = GetSafeData.ValidateDataRow_S(dr, "Password");
//this._UserSex = GetSafeData.ValidateDataRow_S(dr, "UserSex");
//this._UserMail = GetSafeData.ValidateDataRow_S(dr, "UserMail");
//this._UserInternet = GetSafeData.ValidateDataRow_S(dr, "UserInternet");
//this._UserSAP = GetSafeData.ValidateDataRow_S(dr, "UserSAP");
//this._UserUnitID = GetSafeData.ValidateDataRow_S(dr, "UserUnitID");
this._UserAvail = GetSafeData.ValidateDataRow_S(dr, "UserAvail");
this._DateTimeFrom = GetSafeData.ValidateDataRow_T(dr, "DateTimeFrom");
this._DateTimeEnd = GetSafeData.ValidateDataRow_T(dr, "DateTimeEnd");
this._RoleName = GetSafeData.ValidateDataRow_S(dr, "RoleName");
this._exist = true;
}
else
{
this._exist = false;
}
}
//------UserInfor代码完
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-11-14
在“确定”按钮的单击事件里面写代码:

先验证登录用户名和密码是否正确,如果正确则进入主窗体,将登录窗体关闭就行了。

private void btnOK_Click(object sender, EventArgs e)
{
//验证用户名和密码
//调用主窗体
//关闭登录窗体

}

注:该方法不灵活,从启动项设置比较好。
第2个回答  2008-11-13
Application.Run(new 你的主界面())这句删除,使用new 你的主界面().Show()

在主界面类中重写Show()方法,在base.Show()之前显示一下你的登录框以及做一些登录逻辑就好了本回答被提问者采纳
第3个回答  2008-11-17
留个记号,马上要断网了.这是我以前做课程设计时写的,在验证完后你直接用一个Response.Redirect("你想要跳转的主页面");

using System;
using System.Data;
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;
using System.Data.SqlClient;
using LoginSpace;

public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
if (Session["LogName"] != null)
Session.Remove("LogName");

}

protected void DengLuButton_Click(object sender, EventArgs e)
{
int SelectValueFromRadioBuList = Convert.ToInt32(this.RoleRadioButtonList.SelectedValue);
string userName = this.NameTextBox.Text.Trim();
string passWord = this.PassWordTextBox.Text.Trim();
Session.Add("LogName", userName);

LoginClass myLogin = new LoginClass();

int Role=myLogin.WhichKindOfRole(userName, passWord, SelectValueFromRadioBuList);

if (Role == 0)
{
Response.Redirect("Admin.aspx");
}

else
if
(Role == 1)
{
Response.Redirect("Client.aspx");
}
else

Response.Write("<Script Language=JavaScript>alert(\"对不起,用户不存在!或未注册!\")</Script>");
}

protected void CancleButton_Click(object sender, EventArgs e)
{

this.PassWordTextBox.Text = " ";
this.NameTextBox.Text = " ";

}
}
第4个回答  2008-11-14
主界面假定名字:A
登陆按钮假定名字:C

private void C_Click(object sender, EventArgs e)
{
A a = new A();
a.show();
this.hide(); //隐藏登陆窗体
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网