本帖最后由 Puma_Yuan 于 2010-12-17 01:50:51 编辑

解决方案 »

  1.   

    将Session存到隐藏域,js读隐藏域!
      

  2.   

    简单,把你的验证码,一份写入图片中,一份保存到Session,然后输出给你的客户端Img。
    做法:专门做一页验证码产生页面,这个页面产生验证码,并保存到Session,生成图片,然后Response验证图片即可。
    技术关键点:验证码写入图片,2图片输出(调用Response的二进制输出,注意ContentType设置).
      

  3.   

    img src="a.aspx"生成验证码
    ajax获取数据与text值比较
      

  4.   

    不用 img接收  你一般处理程序 绘出来的搬来就是一张图片了
      

  5.   

    ajax 没学 看看,以后用的着
      

  6.   

    Session是保存在服务器端,JavaScript是在客户端的,JavaScript想访问Session数据,可以用Ajax
    所谓的Ajax不用很高的要求,只要学一下JavaScript中的XMLHttpRequest对象,有点编程基础几分钟就可以看懂
    第一步:在服务器端新建一个专门的aspx文件,用来显示当前的Session中的验证码
    如下
    test.aspx
    <script language="C#" runat="server">
    public void Page_Load(object sender, System.EventArgs e)
    {
    Response.Write(Session["Code"]);
    }
    </script>第二步:JavaScript中用XMLHttpRequest对象来读取aspx文件显示的验证码,来比对一下
    就是在onblur事件中调用
    <script>
    var xmlHttp;
    var xmlDoc;// 创建 XMLHttpRequest 对象
    if (window.ActiveXObject)
    {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if (window.XMLHttpRequest)
    {
    xmlHttp = new XMLHttpRequest();
    }var url = 'http://localhost/test.aspx'; // test.aspx是显示Session的页面
    xmlHttp.open("GET", url, true);
    xmlHttp.onreadystatechange = Callback; // 指定读取内容后要调用的函数
    xmlHttp.send(); // 开始读取页面内容,读完就会调用上面执行的函数function Callback()
    {
    if (xmlHttp.readyState == 4)
    {
    if (xmlHttp.status == 200)
    {
    xmlDoc = xmlHttp.responseText; // 返回的是页面内容,就是Session["Code"]值

                           // 这里进行对比
    alert('内容:' + xmlDoc);
    }
    }
    }
    </script>
      

  7.   

    这个好,也不用去研究ajax了!~