自各儿做的验证码第一次得不到值、刷新一次后得到的是第一次的

自己做的验证码第一次得不到值、刷新一次后得到的是第一次的?
index.aspx和proving.aspx这两个页面。其中index.aspx是注册页面,proving.aspx是验证码。index.aspx里面显示验证码: <asp:Image ID="Image1" runat="server" ImageAlign="Top" ImageUrl="~/proving.aspx"/> 。在proving.aspx里面   
protected void Page_Load(object sender, EventArgs e)
    {
        //获取6位随机数
        string str = getRand(6);
        //将验证码写入Session,进行验证。
         Session["check"] = str;
        //生成图像的
        getImageValidate(str);
    } 

问题:当打开index.aspx页面时验证码的Session是空的,当刷新一下页面再去验证时Session里面是有值,但是值是上一次验证码的。自各儿做的验证码第一次得不到值、刷新一次后得到的是第一次的各位大哥大姐看看哈。

------解决方案--------------------
Refer this:
http://www.cnblogs.com/insus/articles/1425377.html
http://www.cnblogs.com/insus/articles/1945539.html
------解决方案--------------------
你给出的这个代码也看不出什么问题啊!
------解决方案--------------------
用我这个看看


protected void Page_Load(object sender, EventArgs e)
        {
            CreateCheckCodeImage(CreateCode());
        }
        public string CreateCode()
        {
            string so = "1,2,3,4,5,6,7,8,9,0";
            string[] strArr = so.Split(',');
            string code = "";
            Random rand = new Random();
            for (int i = 0; i < 4; i++)