none
Captcha nın farklı tarayıcılardaki yenileme problemi RRS feed

  • Soru

  • Merhaba,

    Sayfada aşağıda göreceğiniz gibi Update Panel içersinde image controlü var. Sayfa ilk yüklendiğinde bu image controlüne Captcha.Aspx sayfasında üretilen yeni bir captcha geliyor . Sorun ise btnCaptchaDegistir linkbutonuna tıkladığımda ise chrome tarayıcı haricinde yeni captcha üretmiyor.

    <asp:UpdatePanel ID="UpdatePanel6" runat="server">
        <ContentTemplate>
      <div class="control-group">
              <asp:Label ID="Label20" runat="server" CssClass="control-label">Doğrula</asp:Label>
                      <div class="controls">
           <asp:Image ID="CapctaImage2" Style=" float:left;"   ImageUrl="~/Capcta.aspx" runat="server"></asp:Image>
    <asp:LinkButton ID="btnCaptchaDegistir" OnClick="btnCaptchaDegistir_Click" style="font-size:12px; margin-left:10px;"  runat="server">Kodu değiştir</asp:LinkButton>
                                                                           <br />
                                                   <asp:TextBox ID="txtOgrenciDogrula" CssClass="input-large text-tip" Width="230px" title="GSM"
                                                                            runat="server"></asp:TextBox>
                           <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtOgrenciDogrula"
                                                                            ErrorMessage="Doğrulama Kodu Gerekli." ToolTip="Doğrulama Kodu Gerekli." ValidationGroup="OgrenciCreateUserWizard1"><br/><a>*Doğrulama Kodu Gerekli</a></asp:RequiredFieldValidator>
                                                                <br/>
                                             
                                                                    </div>
                                                                </div> 
           
    
            
        </ContentTemplate>
     
     
    </asp:UpdatePanel>
     protected void btnKoduDegistir_Click2(object sender, EventArgs e)
            {
    
                Image CapctaImage2 = (Image)OgrenciCreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("CapctaImage2");
    
                CapctaImage2.ImageUrl = "~/Capcta.aspx";
    
            }

    Captcha.Aspx.cs dosyası

    public partial class Capcta : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                Bitmap bmp = new Bitmap(120,40);
                Graphics g = Graphics.FromImage(bmp);
                g.Clear(Color.Lavender);
    
                string randStr = RandomString(7);
                Session["capRand"] = randStr;
    
                g.DrawString(randStr,new Font(FontFamily.Families[114],15,FontStyle.Bold),new SolidBrush(Color.Black),5,10);
                g.DrawLine(new Pen(Color.Red,1),10,10,100,100);
                g.DrawLine(new Pen(Color.Red, 1), 100, 10, 50, 50);
    
                Random rdm = new Random();
                for (int i = 0; i < bmp.Width; i++)
                {
                    for (int j = 0; j < bmp.Height; j++)
                    {
                        if (rdm.Next(4) == 1)
                        {
                            bmp.SetPixel(i,j,Color.Black);
                        }
                    }
    
    
                }
    
                bmp.Save(Response.OutputStream,ImageFormat.Png);
            }
    
            private string RandomString(int loop)
            {
                Random rdn = new Random();
                string deger = "";
                for (int i = 0; i < loop; i++)
                {
                    deger += ((char)rdn.Next('A', 'Z')).ToString();
                }
                return deger;
            }
    

    23 Mayıs 2014 Cuma 18:16

Yanıtlar

  • Merhaba,

    BURADA aynı konu için sorulmuş olan soruda problemin önbelleklemeden kaynaklandığı belirtilmiş ve bir takım öneriler sunulmuş, inceleyip test eder misiniz?

    Yararı olur umarım.

    Kolay gelsin.


    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft urunleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ucretsiz sunmaktadır. Bu icerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk ustlenildiği anlamına gelmez. İletişim : ozgurtekbas[at]live[nokta]com

    • Yanıt Olarak İşaretleyen coder-coder 26 Mayıs 2014 Pazartesi 10:11
    24 Mayıs 2014 Cumartesi 12:52
  • Guid g = new Guid();
    imgGuvenlikResmi.ImageUrl = Page.ResolveUrl("~/SecureImg.aspx?NoTemp=" + g.ToString());

    Aynı sayfaya istek yapıldığı için tarayıcı aynı resmi yeniden getirmek yerine temp'ten okuyor.

    Bunun gibi birşey kullanırsan sorunun çözülür. İyi çalışmalar.


    • Düzenleyen e_demir 26 Mayıs 2014 Pazartesi 08:15
    • Yanıt Olarak İşaretleyen coder-coder 26 Mayıs 2014 Pazartesi 10:10
    26 Mayıs 2014 Pazartesi 08:14

Tüm Yanıtlar

  • Merhaba,

    BURADA aynı konu için sorulmuş olan soruda problemin önbelleklemeden kaynaklandığı belirtilmiş ve bir takım öneriler sunulmuş, inceleyip test eder misiniz?

    Yararı olur umarım.

    Kolay gelsin.


    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft urunleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ucretsiz sunmaktadır. Bu icerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk ustlenildiği anlamına gelmez. İletişim : ozgurtekbas[at]live[nokta]com

    • Yanıt Olarak İşaretleyen coder-coder 26 Mayıs 2014 Pazartesi 10:11
    24 Mayıs 2014 Cumartesi 12:52
  • Guid g = new Guid();
    imgGuvenlikResmi.ImageUrl = Page.ResolveUrl("~/SecureImg.aspx?NoTemp=" + g.ToString());

    Aynı sayfaya istek yapıldığı için tarayıcı aynı resmi yeniden getirmek yerine temp'ten okuyor.

    Bunun gibi birşey kullanırsan sorunun çözülür. İyi çalışmalar.


    • Düzenleyen e_demir 26 Mayıs 2014 Pazartesi 08:15
    • Yanıt Olarak İşaretleyen coder-coder 26 Mayıs 2014 Pazartesi 10:10
    26 Mayıs 2014 Pazartesi 08:14
  • Teşekkürler e_demir sorun çözülmüştür.

    string guid = System.Guid.NewGuid().ToString();
                CapctaImage2.ImageUrl = Page.ResolveUrl("~/Capcta.aspx?New=" + guid.ToString());

    26 Mayıs 2014 Pazartesi 10:10