前台代码:
<div id="LoginMain">
        <asp:Panel ID="login" runat="server" Width="330px" Height="300px" BackColor="Silver"
            CssClass="content" HorizontalAlign="Center" ToolTip="管理员登录界面">
            <asp:ImageButton ID="IBClose" runat="server" ImageUrl="~/images/close.jpg" Style="z-index: 100;
                right: 0px; position: absolute; top: 0px" />
            <br />
            <b>管理登录入口</b><br />
            <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                <ContentTemplate>
                    <asp:Label ID="lblMessage" runat="server" Width="200px" Text="" ForeColor="Red"></asp:Label>
                    <br />
                    用户名:&nbsp;<asp:TextBox ID="txtLoginID" runat="server" Width="140px"></asp:TextBox><br />
                    <br />
                    密&nbsp;&nbsp;&nbsp; 码:&nbsp;<asp:TextBox ID="Pwd" runat="server" Width="140px" TextMode="Password"></asp:TextBox><br />
                    <br />
                    验证码:&nbsp;<asp:TextBox ID="txtCode" runat="server" Width="140px"></asp:TextBox><br />
                    <br />
                    <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">不清楚?在来一张</asp:LinkButton>
                    &nbsp;
                    <cc2:SerialNumber ID="snCode" runat="server">
                    </cc2:SerialNumber>
                    <br />
                    <br />
                    <asp:Button ID="btnOK" runat="server" Text="登录" ValidationGroup="Login" OnClick="btnOK_Click" />&nbsp;&nbsp;
                    <asp:Button ID="btnReset" runat="server" Text="重置" />
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="btnOK" EventName="Click" />
                    <asp:AsyncPostBackTrigger ControlID="btnReset" EventName="Click" />
                </Triggers>
            </asp:UpdatePanel>
        </asp:Panel>
        <cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="adminLogin"
            PopupControlID="login" DropShadow="true" CancelControlID="IBClose" Drag="true"
            BackgroundCssClass="ModalBackground">
        </cc1:ModalPopupExtender>
    </div>
后台代码:using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;public partial class Controls_bottom : System.Web.UI.UserControl
{
    string dns = ConfigurationSettings.AppSettings["connStr"];    SqlConnection conn;    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            snCode.Create();   
        }    }    //验证方法
    protected bool CeckCode()
    {
        if (snCode.CheckSN(txtCode.Text.Trim()))
        {
            return true;
        }
        else
        {
            snCode.Create();
            return false;
        }
    }
    
    //刷新验证码
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        snCode.Create();
    }
    
    //验证登录    protected void btnOK_Click(object sender, EventArgs e)
    {
        if(txtLoginID.Text.Trim() =="" || Pwd.Text.Trim() == "")
        {
            this.lblMessage.Text = "用户名或密码不能为空!";
            snCode.Create();
        }
        else if (!CeckCode())
        {
            lblMessage.Text = "验证码错误!请重新输入!";
            snCode.Create();
        }
        else if (CheckLogin(txtLoginID.Text, Pwd.Text) == false)
        {
            lblMessage.Text = "用户名或密码错误!";
            snCode.Create();
        }
        else if (CheckLogin(txtLoginID.Text, Pwd.Text) == true)
        {
            Response.Redirect("/admin/admin_index.aspx");
        }    }    protected bool CheckLogin(string LoginName, string LoginPwd)
    {
        try
        {
            conn = new SqlConnection(dns);            string CheckSql = "select * from KB_admin where UserName='" + txtLoginID.Text + "' and Password='" + Pwd.Text + "'";            SqlCommand cmd = new SqlCommand(CheckSql, conn);            conn.Open();            SqlDataReader read = cmd.ExecuteReader();            if (read.Read())
            {
                Session["UserName"] = read[1].ToString();
                Session["Pwd"] = read[2].ToString();
                return true;
            }
            else
            {
                return false;
            }
        }
        catch (SqlException e)
        {
            throw e;
        }
        finally
        {
            conn.Close();
        }    }
}我不知道哪里出现问题了,登录成功后总是弹出如下提示框:
sys.webforms.pagerequestmanagerserverErrorException:An Unknow error occurred while 
processing the request on the server . the status code returned from server was:404登录窗体的代码我写在了母版页的bottom.ascx web用户控件中
登录失败时lblMessage有提示!新手初学ajax,请高人指教指教!!

解决方案 »

  1.   

    找不到页面
    Response.Redirect("/admin/admin_index.aspx");直接从page_load里跳转能到正确页面吗?
      

  2.   

    所谓'无刷新'登录,最好是用asp.net ajax客户端脚本库里已经包含的Sys.Services.AuthenticationService.login()等方法来实现。
    它是一个前端javascript调用webservice,webservice再去访问Membership API来进行Authenticate的方式。
      

  3.   

    sorry,我没仔细看。原来楼主没用Membership API的。
      

  4.   

    直接从page_load里可以直接跳转的!