مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

morteza1207

عضویت از 1394/04/10

کمک فووووری در مورد کپچا

  • پنجشنبه 1 مرداد 1394
  • 14:31
تشکر میکنم

سلام. من یه کپچا نوشتم و به درستی هم کار میکنه ولی یرا بازیابی مشکل داره .توی یه  update panel  گذاشتم ولی وقتی دکمه ی بازیابی میزنم تصویر در اصل تغییر میکنه و تو صفحه نشون نمیده مثل اینکه هیچ اتفاقی نمیافته و ولی میرم عکس رو چک میکنم میبنم عوض شده ولی عکس آپدیت نمیشه.

اینو چیکارش کنم ؟

ممنون

کد اگه خونده نشه توی تکست فایل ریختم و اتچ کردم

 

 

اینم کد

<ul class="clearfix">
        <li>
           
            <span class="captcha">
               تصویر امنیتی
            </span>
         
              <asp:Image ID="imgCaptcha" runat="server" />
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">

                <ContentTemplate>
                   
                      <asp:LinkButton ID="lnkbtn" runat="server" OnClick="lnkbtn_Click"  >بازیابی تصویر</asp:LinkButton>
      
                   
                    
                         </ContentTemplate> 
            </asp:UpdatePanel>
                  

           

        
          
            <input id="txtCaptcha" class="txtusername txtcaptcha" type="password" placeholder=" تصویر امنیتی " />
        </li>
    </ul>

 

 

 

قسمت c#

public partial class UserControls_RightLoginBox : System.Web.UI.UserControl
{
    private Bitmap btmp;
    private Graphics g;
    private Captcha captcha;
    private string captchaUrl;
    protected void Page_Load(object sender, EventArgs e)
    {



       if(!IsPostBack)
       {
           CreateCaptchaCode();
       }
    }

    private void CreateCaptchaCode()
    {
        captcha = new Captcha();
        captchaUrl = "~/Images/CaptchaImages/Captcha.jpg";
        btmp = new Bitmap(Server.MapPath(captcha.GetImageUrlForBitMap()));
        g = Graphics.FromImage(btmp);
        for (int i = 0; i < 10; i++)
        {
            g.DrawLine(new Pen(captcha.GetColorForDrawLine(), 1), captcha.GetRandom().Next(145), captcha.GetRandom().Next(60), captcha.GetRandom().Next(145), captcha.GetRandom().Next(60));
        }
        SolidBrush drawBrush = new SolidBrush(Color.LightBlue);

       
        PointF drawPoint = new PointF(18.0F,20.0F);
        g.DrawString(captcha.GetCaptchaCode(), new Font("arial", captcha.GetRandom().Next(20, 23), FontStyle.Italic),drawBrush, drawPoint);

      btmp.Save(Server.MapPath(captchaUrl));
      
      imgCaptcha.ImageUrl = captchaUrl;
    }

    protected void lnkbtn_Click(object sender, EventArgs e)
    {
        CreateCaptchaCode();
        
    }
}

 

پاسخ های این پرسش

تعداد پاسخ ها : 2 پاسخ
کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • شنبه 3 مرداد 1394
  • 07:28

تصویر کپچا را داخل UpdatePanel قرار دهید :

<ul class="clearfix">
        <li>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
 
                <ContentTemplate>
                   <span class="captcha"> تصویر امنیتی </span>
          
                  <asp:Image ID="imgCaptcha" runat="server" />
                  <asp:LinkButton ID="lnkbtn" runat="server" OnClick="lnkbtn_Click"  >بازیابی تصویر</asp:LinkButton>
                     
                         </ContentTemplate>
            </asp:UpdatePanel>
                   
            <input id="txtCaptcha" class="txtusername txtcaptcha" type="password" placeholder=" تصویر امنیتی " />
        </li>
</ul>

 

کاربر سایت

morteza1207

عضویت از 1394/04/10

  • یکشنبه 4 مرداد 1394
  • 16:13

متاسفانه بازم نمیشه :(

همون تصویر قبلی نمایش داده میشه.در اصل تغییر میکنه ولی تصویر جدید که ایجاد شده نمایش داده نمیشه همون قبلی نمایش داده میشه

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)