问题描述
protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){if(Request.UrlReferrer!=null)ViewState["UrlReferrer"]=Request.UrlReferrer.ToString();}}protectedvoidButton1_Click(objectsender,EventArgse){if(TextBox1.Text==""){showMessage("用户名不能为空!",this);}elseif(TextBox2.Text==""){showMessage("密码不能为空!",this);}else{stringname=TextBox1.Text.Trim();stringpwd=TextBox2.Text.Trim();stringconstr="server=.;database=Movie;uid=sa;pwd=;";SqlConnectionconn=newSqlConnection(constr);conn.Open();stringsqlstr="select*fromUserInfowhereName='"+name+"'andPassword='"+pwd+"'";SqlCommandcmd=newSqlCommand(sqlstr,conn);SqlDataAdaptersda=newSqlDataAdapter(cmd);DataSetds=newDataSet();sda.Fill(ds,"aa");if(ds.Tables["aa"].Rows.Count>0){showMessage("登录成功!",this);Session["name"]=name;Session["ID"]=ds.Tables[0].Rows[0][0].ToString();Response.Redirect(ViewState["UrlReferrer"].ToString());}else{showMessage("登录失败!",this);}TextBox1.Text="";TextBox2.Text="";TextBox1.Focus();}}
解决方案
解决方案二:
天知道showMessage你怎么写的。你可以用RegisterClientScript注入一个alert消息框的代码。
解决方案三:
你应该为UrlReferrer加上一些参数,使得那个页面知道区别:是你回调过去的,还是它被第一次打开的。
解决方案四:
这是一个url设计问题。设计一个“经常切换页面”的web应用,首先就是设计好url的协议,对于url参数必须预先建立文档(经过程序员集体学习)。如果这个都设计不好,那么就没有逻辑可言了。
解决方案五:
页面后台的话用Page.ClientScript.RegisterClientScriptBlock(Page.GetType(),"message","<script>alert('登录成功!');location.href='aa.aspx'</script>");aa.aspx就是你要跳转的页面分拿来
解决方案六:
人家一般的都是xxxxxx.com/login.aspx?url=news/newsadd.aspx然后获取url然后在跳转..比如阿里或者腾讯甚至csdn都是这样的..所以别自己创造了..
解决方案七:
该回复于2014-12-06 19:49:28被版主删除
解决方案八:
登录验证通过就弹出提示框