注册 登录
编程论坛 ASP.NET技术论坛

登录按钮不能用

jasoft 发布于 2008-04-17 16:03, 2162 次点击
我在后台写了一个方法,用作登录,方法如下

private void regScript()
    {
        StringBuilder script = new StringBuilder(300);
        script.Append("<script type='text/javascript'>");
        script.Append("function userLogin(){");
        script.Append("var _userName=document.getElementById('" + iptName.ClientID + "').value;");
        script.Append("var _password=document.getElementById('" + iptPWD.ClientID + "').value;");
        script.Append("var _test=login.userLogin(_userName+','+_password).value;");
        script.Append("if(_test!='sccuess'){");
        script.Append("alert('密码或用户名错误!');");
        script.Append("var _pnlLogin=document.getElementById('" + pnlLogin.ClientID + "');");
        script.Append("_pnlLogin.style.display='';");
        script.Append("var _pnlLogout=document.getElementById('" + pnlLogout.ClientID + "');");
        script.Append("_pnlLogout.style.display='none';}");
        script.Append("else{var _pnlLogin=document.getElementById('" + pnlLogin.ClientID + "');");
        script.Append("_pnlLogin.style.display='none';");
        script.Append("var _pnlLogout=document.getElementById('" + pnlLogout.ClientID + "');");
        script.Append("_pnlLogout.style.display='';");
        script.Append("document.getElementById('" + lblName.ClientID + "').innerText=_userName;}");
        script.Append("}");
        script.Append("function userLogout(){");
        script.Append("login.userOut();");
        script.Append("document.getElementById('" + pnlLogin.ClientID + "').style.display='';");
        script.Append("document.getElementById('" + pnlLogout.ClientID + "').style.display='none';");
        script.Append("document.getElementById('" + iptName.ClientID + "').value='';");
        script.Append("document.getElementById('" + iptPWD.ClientID + "').value='';}");
        script.Append("</script>");
        if (!this.Page.IsClientScriptBlockRegistered("client"))
        {
            this.Page.RegisterClientScriptBlock("client", script.ToString());
        }
    }

在初始时绑定:
protected void Page_Load(object sender, EventArgs e)
    {
        try
        {//用户已经登录
            userName = this.Session["userName"].ToString().Trim();
            this.pnlLogin.Style.Add("display", "none");
            this.pnlLogout.Style.Add("display", "");
            this.lblName.Text = Session["userName"].ToString();
        }
        catch { }
        Ajax.Utility.RegisterTypeForAjax(typeof(Controls_login));
        regScript();

    }

前台调用:<INPUT type="button" value="登 录" onclick="javascript:userLogin();">

可是这个登录按钮不管用,哪位大侠看出是哪里错了??
10 回复
#2
仰望星空2008-04-17 17:04
看不懂……
#3
hebingbing2008-04-17 17:13
你写的那点ajax你是放在什么地方的啊……
是在后台吗?
像这种发疯类型的语言出错的确是不要找,检查一下id等有没有输入上的误差,然后要是不行你可以不在后台拼直接写到前台去……
#4
hebingbing2008-04-17 17:23
奥,找到了……
你的page_load事件中没有调用regScript()当然是不行了……
那样你的regScript()这个函数等于是白写了……
#5
jasoft2008-04-17 17:26
没有输入数据,就是登录按钮不可用
#6
hebingbing2008-04-17 17:43
什么意思啊……
是点击不起作用还是在disabled状态下啊……
#7
northandfish2008-04-17 17:49
看不懂~
too!
#8
jasoft2008-04-18 09:14
点击不起作用!
就是点击那个按钮的时候没有反映!
ie左下方出现网页有错误的提示
#9
jasoft2008-04-18 09:15
[bo]以下是引用 [un]hebingbing[/un] 在 2008-4-17 17:23 的发言:[/bo]

奥,找到了……
你的page_load事件中没有调用regScript()当然是不行了……
那样你的regScript()这个函数等于是白写了……


regScript()调用了的
#10
jasoft2008-04-18 09:18
if (!this.Page.IsClientScriptBlockRegistered("client"))
        {
            this.Page.RegisterClientScriptBlock("client", script.ToString());
        }

同时警告这句话
警告    1    “System.Web.UI.Page.IsClientScriptBlockRegistered(string)”已过时:“The recommended alternative is ClientScript.IsClientScriptBlockRegistered(string key). http://go.”    
会不会是这的原因呢??
#11
hebingbing2008-04-18 10:09
this.Page.RegisterClientScriptBlock("client", script.ToString());你把这句该成:
 this.Page.RegisterStartupScript("client", script.ToString());按钮就可以起作用了……
1