1.index.aspx页面包含Login.ascx控件.提交方式:post...
2.Login.ascx控件用途是判断用户登录,及显示。登录按钮=服务器控件...
3.登录成功后,记录状态且显示不同画面,但是当我F5刷新时,提示"不重新发送信息将无法刷新网页"...网上也搜索到一些信息:也尝试过:
抛出异常:
try
{}
catch //无效
{}
登录成功后再次跳转:
Response.Redirect("~/index.aspx"); //死循环,用户一直登录更改表单提交方式:
将post改为get //不会改,所以暂时先不尝试求助,帮解,分析...
protected void btn_login_Click(object sender, EventArgs e)//登录按钮
{ try
{
if (Session["Employee_Name"] != "" && Session["Employee_Name"] != null)
{
Name.Text = Session["Employee_Name"].ToString(); // 显示用户名
}
if (Session["Department"] != "" && Session["Department"] != null)
{
string DepartmentName = Session["Department"].ToString(); //用户的部门
Department.Text = DepartmentName.Length > 5 ? DepartmentName.Substring(0, 5) + "..." : DepartmentName;
}
if (Session["Manager"] != "" && Session["Manager"] != null)
{
Manager.Text = Session["Manager"].ToString(); //用户所属的组
}
string password = "";
if (Session["password"] != "" && Session["password"] != null)
{
password = Session["password"].ToString(); //用户密码
}
Panel1.Visible = false;
Panel2.Visible = true;
if (Name.Text != null && Name.Text != "")
{
string strCmd = "insert into LoginLog(LoginName,DepartmentName,password) values('" + Name.Text + "','" + Department.Text + "','" + password + "')";
bind.insert(bind.createCon(), strCmd); //增加登录log
Page.Response.Redirect("~/index.aspx"); //加上就死循环...
}
}
catch (InvalidCastException a)
{
throw(a);
}
}
2.Login.ascx控件用途是判断用户登录,及显示。登录按钮=服务器控件...
3.登录成功后,记录状态且显示不同画面,但是当我F5刷新时,提示"不重新发送信息将无法刷新网页"...网上也搜索到一些信息:也尝试过:
抛出异常:
try
{}
catch //无效
{}
登录成功后再次跳转:
Response.Redirect("~/index.aspx"); //死循环,用户一直登录更改表单提交方式:
将post改为get //不会改,所以暂时先不尝试求助,帮解,分析...
protected void btn_login_Click(object sender, EventArgs e)//登录按钮
{ try
{
if (Session["Employee_Name"] != "" && Session["Employee_Name"] != null)
{
Name.Text = Session["Employee_Name"].ToString(); // 显示用户名
}
if (Session["Department"] != "" && Session["Department"] != null)
{
string DepartmentName = Session["Department"].ToString(); //用户的部门
Department.Text = DepartmentName.Length > 5 ? DepartmentName.Substring(0, 5) + "..." : DepartmentName;
}
if (Session["Manager"] != "" && Session["Manager"] != null)
{
Manager.Text = Session["Manager"].ToString(); //用户所属的组
}
string password = "";
if (Session["password"] != "" && Session["password"] != null)
{
password = Session["password"].ToString(); //用户密码
}
Panel1.Visible = false;
Panel2.Visible = true;
if (Name.Text != null && Name.Text != "")
{
string strCmd = "insert into LoginLog(LoginName,DepartmentName,password) values('" + Name.Text + "','" + Department.Text + "','" + password + "')";
bind.insert(bind.createCon(), strCmd); //增加登录log
Page.Response.Redirect("~/index.aspx"); //加上就死循环...
}
}
catch (InvalidCastException a)
{
throw(a);
}
}
if (Session["Employee_Name"] != "" && Session["Employee_Name"] != null)
{
Name.Text = Session["Employee_Name"].ToString(); // 显示用户名
}
你的代码也有点小问题,至少应该先判断Session["Employee_Name"]是否为null,我觉得这个写在if的前面好点。。还有session存储是object对象,怎么用来和字符串""比较呢???
封装在一个方法中 页面的LOAD时间 和 Button的Click 事件 都调用它不就行了
最好 写成 if(Session["Employee_Name"]!=null)
{}else
{}
我记着这么写不起作用。
1.先判断是否为null...
2.再判断是否为空...
3.使用
需要3步
我这么写貌似就可以直接用了...
thank you very much...
2、密码一定要加密传输。最好产用不可逆的加密算法,如:md5……
3、一般在登陆的时候是没法“安全加密”的,js可能可以加密,但是安全性不高,这是一般产用https,也就是SSL,这个我没有弄过,不是很了解。上面说到的保存密码,那为什么要保存密码呢,是因为网站上的“记住密码”功能。。文中对这个功能的解决办法是:在客户端保存三个数据,用户名、加密过后的随机码、Token(令牌)不过文章中提到的tonken我不怎么清楚。。不知道是怎么发挥作用的。。
jquery,js库,主要用来解决浏览器兼容性等问题。