本帖最后由 thinclient 于 2012-04-23 18:10:09 编辑

解决方案 »

  1.   

    谢回复:
    1.如何在代码里加下错误消息和日志
    2.我是在本地运行的,就是在vs2008按F5注:出问题的过程,注册一个用户后,开始能用,用着用着就不认用户了,这期间没有任何代码操作帐户数据
    出问题后,再注册新的用户,新用户的名字和密码明文会出现在数据库中,但是照样登录不上
    只能调出上次的备份,就又重新好使了,这种现象一再发生,总是用一段就不认了
      

  2.   

    你自己单步debug看到前后有什么异常没有?
      

  3.   

    谢回复:
    Login.aspx.cs代码:using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    public partial class Denglu : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write(Request.QueryString["ReturnUrl"]);
        }
        protected void Login1_LoggedIn(object sender, EventArgs e)
        {
            //string s = Request.UrlReferrer.ToString();
            if (Request.QueryString["ReturnUrl"] != null)
                Response.Redirect(Request.QueryString["ReturnUrl"]);
            else Response.Redirect("~/a/FirstPage.aspx");
            String RefreshStr;        RefreshStr = "<script language='Javascript'>";
            RefreshStr += "window.opener.location.reload();";
            RefreshStr += "window.close();";
            RefreshStr += "</script>";
            Response.Write(RefreshStr);
        }
        protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
        {    }
    }
    Login.aspx代码:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Denglu" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
            <asp:Login ID="Login1" runat="server" CreateUserText="注册新用户" 
                CreateUserUrl="a/CreateUser.aspx" PasswordRecoveryText="忘记了密码?" 
                PasswordRecoveryUrl="~/PasswordRecovery.aspx" onloggedin="Login1_LoggedIn" 
                onauthenticate="Login1_Authenticate">
            </asp:Login>
        
        </div>
        </form>
        </body>
    </html>
      

  4.   

    难道是传说中的用户密码定期失效》?
    开个玩笑。应该用你失效了的状态好好debug看是哪里逻辑导致不能登录。1.如何在代码里加下错误消息和日志
    js脚本用alert();
    C#代码用msgbox(***);
      

  5.   

    谢回复!又有新发现:我在Login控件的Authenticate事件中写入如下测试代码,当我输入了正确的用户名和口令后,显示“密码正确!
        protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
        {
            //e.Authenticated = true;
            if (Membership.ValidateUser(Login1.UserName, Login1.Password))
            {
                Response.Write("密码正确!");
            }
            else
            { Response.Write("密码错误!"); }    }但是紧接着Login控件内部仍显示:
    您的登录尝试不成功。请重试。前后自相矛盾啊,大侠们帮助想想啊,太怪了啊!!!
      

  6.   

    webconfig文件 中数据库连接串设置对了没有呀?