由于代码内容较多,现不一一列举,有意的请加我QQ:279692258,我将源码发你,帮我运行一下
要求最终结果,可以进行正常注册,登录和注销,并把access数据库改为sql 2000数据库牵涉到的页面:
index.aspx
JScript.js
login.ascx
login.ascx.cs
login.ashx
register.ascx
register.ascx.cs
register.ashx
signout.ashx
Tools.cs
validatecode.cs

解决方案 »

  1.   

    没有人来吗,代码我全写好了,不过不熟悉代码,运行时出现点意外,有《征服asp.net 2.0 ajax典型应用》这本书的朋友,可以参考其第六章,我是抄的第六章的代码,呵呵 
      

  2.   

    楼主要换问题了,高手注意,散分了<%@ WebHandler Language="C#" Class="register" %>using System;
    using System.Web;public class register : IHttpHandler 
    {
        
        public void ProcessRequest (HttpContext context) 
        {
            context.Response.ContentType = "text/plain";
            string name = Tools.StrConvert(context.Request.QueryString["name"]);
            switch (context.Request.QueryString["type"])
            { 
                case "0":                                  //加载注册的用户控件
                    context.Response.Write(Tools.RenderUserControl("register.ascx"));
                    break;
                case "1":
                    if (name.Length > 18 || name.Length < 5)       //用户名是否可以注册
                    {
                        context.Response.Write("1");               //用户名长度不符合要求,返回
                    }
                    else
                        if (Tools.GetUserPwd(name) == "")             //数据库中没有这个账号,则可以注册
                            context.Response.Write("2");
                        else
                            context.Response.Write("1");              //有这个账号,不可注册
                    break;
                case "2":
                    string gif =context.Session["gif"].ToString();        //获得校验码,这句出了毛病
                    //校验码不正确,返回
                    if (gif.ToLower() != context.Request.QueryString["check"].ToLower())
                    {
                        context.Response.Write("0");
                        break;
                    }
                    //接收URL数据,并对数据进行过滤
                    string mail = Tools.StrConvert(context.Request.QueryString["mail"]);
                    string realname = Tools.StrConvert(context.Request.QueryString["realname"]);
                    //加密密码
                    string pass = Tools.Encrypt(context.Request.QueryString["pass"], "12345678");
                    //把注册的数据插入数据库
                    Tools.InsertUser(name, pass, mail, context.Server.UrlDecode(realname));
                    //添加登录标记
                    System.Web.Security.FormsAuthentication.SetAuthCookie(context.Request.QueryString["name"], true);
                    //显示登录信息
                    context.Response.Write("您的账号是:" + context.Request.QueryString["name"]);
                    break;
            }
        }
     
        public bool IsReusable {
            get {
                return false;
            }
        }}
    错误提示图如下: