سلام. من یه کپچا نوشتم و به درستی هم کار میکنه ولی یرا بازیابی مشکل داره .توی یه 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(); } }
تصویر کپچا را داخل 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>
متاسفانه بازم نمیشه :(
همون تصویر قبلی نمایش داده میشه.در اصل تغییر میکنه ولی تصویر جدید که ایجاد شده نمایش داده نمیشه همون قبلی نمایش داده میشه
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)