PDA

View Full Version : میخوام با کلیک بر روی دکمه کل صفحه از کار بیفته



jigily
سه شنبه 03 اردیبهشت 1392, 16:18 عصر
سلام
من به یک مشکل بزرگی برخوردم
اینه که میخوام موقع ثبت نام یک سری کد را در دیتابیس درج کنم اما اگر کاربر چندبار بر روی دکمه کلیک کنه
بعدا به مشکل میخوره
حالا میخوام با یکبار کلیک کل صفحه به حالت enable بره تا نتونه دوبار کلیک کنه

ali9698
سه شنبه 03 اردیبهشت 1392, 16:47 عصر
فکر کنم باید از onclientclick استفاده کنی و دکمه رو غیرفعال کنی

mahdisky
سه شنبه 03 اردیبهشت 1392, 16:54 عصر
سلام دوست عزیز این کد رو به دکمت اضافه کن.

OnClientClick="if ((typeof(Page_ClientValidate) == 'function') && (Page_ClientValidate()==false)) { return false;} this.disabled=true; this.value ='در حال پردازش';"

jigily
سه شنبه 03 اردیبهشت 1392, 17:34 عصر
سلام دوست عزیز این کد رو به دکمت اضافه کن.

OnClientClick="if ((typeof(Page_ClientValidate) == 'function') && (Page_ClientValidate()==false)) { return false;} this.disabled=true; this.value ='در حال پردازش';"

فقط همین بزارم؟
کوتیشن هاش بردارم؟

ahmad156
سه شنبه 03 اردیبهشت 1392, 18:57 عصر
http://www.dotnettips.info/post/1136/%D8%BA%DB%8C%D8%B1-%D9%81%D8%B9%D8%A7%D9%84-%DA%A9%D8%B1%D8%AF%D9%86-%DB%8C%DA%A9-%D8%AF%DA%A9%D9%85%D9%87-%D8%AF%D8%B1-%D8%AD%DB%8C%D9%86-%D8%A7%D9%86%D8%AC%D8%A7%D9%85-%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D8%B4-%D9%87%D8%A7%DB%8C-%D8%B3%D9%85%D8%AA-%D8%B3%D8%B1%D9%88%D8%B1

mahdisky
سه شنبه 03 اردیبهشت 1392, 22:42 عصر
فقط همین بزارم؟
کوتیشن هاش بردارم؟

اره همینطوری اینو بزار داخل دکمه.نیازی نیس چیزی رو برداری.

jigily
چهارشنبه 04 اردیبهشت 1392, 06:46 صبح
یک همچین خظایی میده

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS1002: ; expected

Source Error:

Line 37: {Line 38: Line 39: OnClientClick="if ((typeof(Page_ClientValidate) == 'function') && (Page_ClientValidate()==false)) { return false;} this.disabled=true; this.value ='در حال پردازش';"Line 40: Line 41:

jigily
چهارشنبه 04 اردیبهشت 1392, 08:32 صبح
خطای بالایی که فهمیدم باید انتهای خط ؛ می ذاشتم
اما حالا این خطا رو میده
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0103: The name 'OnClientClick' does not exist in the current context

Source Error:

Line 38: Line 39: Line 40: OnClientClick = "if ((typeof(Page_ClientValidate) == 'function') && (Page_ClientValidate()==false)) { return false;} this.disabled=true; this.value ='در حال پردازش';";Line 41: Line 42:


namespace خاصی می خواد؟

jigily
چهارشنبه 04 اردیبهشت 1392, 09:09 صبح
من این فهمیدم جاش کجاست و گذاشتم
موقعی ام که روی دکمه کلیک می کنی enable میشه
اما مشکل اینه که عملیات که توی رویداد کلیک نوشته شده را انجام نمیده

jigily
چهارشنبه 04 اردیبهشت 1392, 11:48 صبح
جواب چی شد>

mahdisky
چهارشنبه 04 اردیبهشت 1392, 12:08 عصر
سلام دوست عزیز
اگر از validtion استفاده نمیکنید این کد رو بزارین

OnClientClick="this.disabled = true; this.value = 'در حال پردازش اطلاعات ...';"
این کد رو باید در قسمت html دکمه بزارید

jigily
چهارشنبه 04 اردیبهشت 1392, 14:05 عصر
ببین من این توی دکمه که برای ثبت نام کاربر هست که از مال خود vs استفاده کردم دکمه ی continue میزام
اما با کلیک روی اون مینویسه در حال پردازش اما کارهای که توی رویداد کلیک دکمه گفتم را انجام نمیده

mahdisky
چهارشنبه 04 اردیبهشت 1392, 14:57 عصر
این کد رو بزن یه کد آخرش اضافه شده

<asp:Button runat="server"
ID="btnProcess"
Text="پردازش"
onclick="btnProcess_Click"
OnClientClick="this.disabled = true; this.value = 'در حال پردازش اطلاعات ...';"
UseSubmitBehavior="false"
/>

1- این کد وقتی دستورات در حال پردازش باشه اجرا میشه که دکمه رو غیر فعال میکنه
OnClientClick="this.disabled = true; this.value = 'در حال پردازش اطلاعات ...';"

2- این کد هم وقتی که دکمه پردازشش تموم شده و فعال میشه دوباره
UseSubmitBehavior="false"


توی رویداد دکمه هم این رو بزار
protected void btnProcess_Click(object sender, EventArgs e)
{
// insert student in database
System.Threading.Thread.Sleep(2000);
lblMessage.Text = "پردازش اطلاعات به پایان رسید";
}