PDA

View Full Version : رفرش کردن کد کپچا بدون رفرش شدن صفحه



sara_aryanfar
چهارشنبه 03 اسفند 1390, 22:57 عصر
با سلام دوستان من کد کپچا رو در پیج لود تولید می کنم و اونو در یک کنترل ایمیج نشون میدم برای عوض شدن این عکس ها باید صفحه رفرش بشه می خوام بدونم چطوری می تونم این عوض شدن عکس رو بدون رفرش صفحه انجام بدم یعنی یک باتن بزارم که فقط عکس رو عوض کنه

buggen
چهارشنبه 03 اسفند 1390, 23:44 عصر
سلام
باید از ajax استفاده کنید و عکس رو reload کنید

sara_aryanfar
پنج شنبه 04 اسفند 1390, 00:11 صبح
از آپلود پنل استفاده کردم اما نشد یعنی عکس عوض نمیشه تصویر در پوشه مورد نظر عوض میشه اما در کنترل ایمیج نه

Rohollaes
پنج شنبه 04 اسفند 1390, 08:59 صبح
باید هر دفعه که عکس عوض میشه اسم اونو هم عوض کنید و دوباره با اسم جدید بخونیدش.
این کار واسه اینه که مرورگر عکس هارو کش میکنه و چون اسم عکس عوض نشده همون عکس قبلیو (که در کش هستش) نشون میده

sara_aryanfar
پنج شنبه 04 اسفند 1390, 10:15 صبح
دستوری برای رفرش کردن کنترل ایمیج نیست چون وقتی صفحه رفرش میشه تصویر هم عوض میشه

mahan206
دوشنبه 24 فروردین 1394, 21:14 عصر
سلام من این کار رو با این کد انجام دادم که خودم ساختم دیگه نمیدونم مشکل داره یا نه.
از همون ابدیت پنل و اسکریپت منیجر استفاده کردم وبعد کد دکمه رفرشم اینجور نوشتم
protected void ImageButton1_Click1(object sender, ImageClickEventArgs e)
{

Random generator = new Random();
string s = "~/Capcha.aspx?" + generator.Next();
Image2.ImageUrl=s;
generator.Next();
}

کد صفحه ام هم اینجوره
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Image CssClass="capcha" ID="Image2" runat="server" ImageUrl="~/Capcha.aspx" />&nbsp;&nbsp;
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Admin20p/image_admin/Refresh.png" OnClick="ImageButton1_Click1" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ImageButton1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>

alireza_s_84
دوشنبه 24 فروردین 1394, 21:30 عصر
با سلام دوستان من کد کپچا رو در پیج لود تولید می کنم و اونو در یک کنترل ایمیج نشون میدم برای عوض شدن این عکس ها باید صفحه رفرش بشه می خوام بدونم چطوری می تونم این عوض شدن عکس رو بدون رفرش صفحه انجام بدم یعنی یک باتن بزارم که فقط عکس رو عوض کنه

تنها با کد جاوا اسکریپت و خیلی ساده بدون نیاز به ایجکس و حتی پست بک شما میتونید آدرس هرعکسی رو عوض کنید.
یک نمونه براتون قرار میدم:
function ReCaptcha() { var date = new Date;
var src = '../home/getcaptcha?' + date.getTime().toString();
document.getElementById("Captcha").src = src;
}

تو رویداد کلیک سمت کلاینت هر باتن این کد رو قرار بدین عکس رو عوض میکنه فقط در خط اول بسته به ماژولی که کپچا رو تولید میکنه مسیر تغییر میکنه.
نحوه استفاده:
<img id="Captcha" onclick="ReCaptcha();" src="@Url.Action("getcaptcha", "home")" alt="Captcha" title="برای دگرگونی کد امنیتی بر روی آن کلیک کنید" />
<a href="javascript:ReCaptcha();" class="recode-link">دگرگونی کد امنیتی</a>

meysampaknahad
شنبه 13 اردیبهشت 1399, 03:35 صبح
باید هر دفعه که عکس عوض میشه اسم اونو هم عوض کنید و دوباره با اسم جدید بخونیدش.
این کار واسه اینه که مرورگر عکس هارو کش میکنه و چون اسم عکس عوض نشده همون عکس قبلیو (که در کش هستش) نشون میده

سلام
ممنون جواب داد