首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

asp.net页面跳转的有关问题

2012-08-09 
asp.net页面跳转的问题,高手请进我做的是用户登录功能,在页面上放了html input控件,用javascript获取用户

asp.net页面跳转的问题,高手请进
我做的是用户登录功能,在页面上放了html input控件,用javascript获取用户输入的账号密码再用ajax传递到一个一般处理程序中跟数据库比对,但是一般处理程序在页面跳转的时候总是跳转到程序的网页地址,并显示一个空白的网页,这是怎么回事?高手指教!

JScript code
function loginFun() {    var userName = document.getElementById("TxtUserName").value;    var userSN = document.getElementById("TxtPassword").value;    if (userName == "")     {        alert("请输入账号");    }    else if (userSN == "")     {        alert("请输入密码");    }     else     {        var hRq = createHttpRequest(); //创建ajax对象        hRq.open("POST", "UserLogin.ashx?user=" + userName + "&sn=" + userSN, false);        hRq.send();    }}


C# code
 public class UserLogin1 : IHttpHandler    {        public void ProcessRequest(HttpContext context)        {            context.Response.ContentType = "text/plain";            string userName = context.Request["user"];            string userSn = context.Request["sn"];            string connctionStr = ConfigurationManager.AppSettings["DbConnectionString"];            try            {                using (SqlConnection sqlConn = new SqlConnection(connctionStr))                {                    sqlConn.Open();                    SqlCommand sqlCmd = new SqlCommand("select top 1 * from users where userName like '" + userName + "'",sqlConn);                    SqlDataReader sqlDR = sqlCmd.ExecuteReader();                    if (sqlDR.Read())                    {                        string name = sqlDR["userName"].ToString();                        string sn = sqlDR["userSN"].ToString();                        string userRight = sqlDR["Edit_right"].ToString();                        if (name == userName && userSn == sn)                        {                            if (userRight == "false")                            {                                                            }                            else                            {                                context.Response.Redirect("Default.aspx",false);                            }                        }                        else                        {                            context.Response.Write("用户名或密码错误!");                        }                    }                    sqlDR.Close();                }            }            catch (Exception e)            {                                context.Response.Write(e.Message);            }                   }        public bool IsReusable        {            get            {                return false;            }        }    }}


[解决办法]
你在ProcessRequest中只做判断,并返回判断结果,然后根据结果在页面进行跳转
[解决办法]
用Response.Write("<script>location.href('Default.aspx')</script>");试试。

[解决办法]
更正一下,是用context.Response.Write("<script>location.href='Default.aspx'</script>");
[解决办法]
饿滴神,
你返回一个标识即可

后台返回 真 或者假
js里面
if(真){
window.loaction.href="";
}else{用户名或密码错误}

热点排行