PDA

View Full Version : چطوری به کاربر بگم یه کم منتظر بمون



آرام جان گل
سه شنبه 26 مرداد 1389, 08:37 صبح
سلام
لطفاً تاپیک منو حذف نکنید شاید زیاد در این مورد حرف زده ده باشه ولی چون دفعه اوله که من می خوام این کار را بکنم نمی تونم
ونیاز به کمک دارم

من می خوام وقتی صفحه هام موقع ارسال داده ها به سرور از کار می افتند به کاربر بفمانم
مثلاً این طوری که یک لایه طوسی رنگ روی صفحه می افته و به کاربر می گه لطفاً کمی صبر کنید.
اصلاً نمی دونم باید برای این کار ، چه دستوراتی بنویسم و چه کنترل هایی استفاده کنم
لطفاً راهنمایی کنید

maxpayn2
چهارشنبه 27 مرداد 1389, 12:15 عصر
برای این کار که باید از Javascript استفاده کنی ، ولی دیدن لینک زیر هم خالی از لطف نیست :

http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/UpdatePanelAnimation/UpdatePanelAnimation.aspx

ramin149
چهارشنبه 27 مرداد 1389, 15:00 عصر
ببین این کد به دردت می خوره



System.Threading.Thread.Sleep(10000)

maxpayn2
چهارشنبه 27 مرداد 1389, 15:07 عصر
ببین این کد به دردت می خوره



System.Threading.Thread.Sleep(10000)


میشه بگی چه ربطی داره ؟

ramin149
چهارشنبه 27 مرداد 1389, 15:20 عصر
این کد سیستم رو 10 ثانیه نگه می داره و کد طراحی رو بالا این کد می نویسید و بعد کد


Response.Redirect("index.aspx")

رو زیر این کد و بعد از 10 ثانیه به فحه بعد می ره .

maxpayn2
چهارشنبه 27 مرداد 1389, 15:33 عصر
این کد باعث میشه توی اون 10 ثانیه هیچ اتفاقی نیفته و الکی سر کار باشی

imanasp
چهارشنبه 27 مرداد 1389, 18:11 عصر
سلام
لطفاً تاپیک منو حذف نکنید شاید زیاد در این مورد حرف زده ده باشه ولی چون دفعه اوله که من می خوام این کار را بکنم نمی تونم
ونیاز به کمک دارم

من می خوام وقتی صفحه هام موقع ارسال داده ها به سرور از کار می افتند به کاربر بفمانم
مثلاً این طوری که یک لایه طوسی رنگ روی صفحه می افته و به کاربر می گه لطفاً کمی صبر کنید.
اصلاً نمی دونم باید برای این کار ، چه دستوراتی بنویسم و چه کنترل هایی استفاده کنم
لطفاً راهنمایی کنید
توی اینترنت ModalPopup رو سرچ کن پروژه های زیادی هست

amordad
پنج شنبه 28 مرداد 1389, 05:25 صبح
سلام دوست من
ببین این چیزی که شما میخواهی یکی از کنترل های ajax toolkit است
اما شما باید اول با ajax کار کرده باشی
1 مثال کوچک برای شما درست کردم ببین چجوریه

aminghaderi
پنج شنبه 28 مرداد 1389, 12:55 عصر
ببین این کد به دردت می خوره



System.Threading.Thread.Sleep(10000)


این کد تاخیر در اجرای دستورات در سمت سرور هست عزیرم ، و دوستمون برای سمت کلاینت چیزی لازم داره؟!

به نظر من اگر از اجکس استفاده کنید ، اون متد هایی در اختاریتون می زاره که بتونید کامل زمان دوباره سازی صفحه رو داشته باشید.
البته در ابتدای لود شدن سایت های معمولی (که اجکس استفاده نشده) هم توسط جاواسکریپت می شه این کار رو صورت داد .
اما در زمان PostBack کردن معمولی نمی دونم ، شاید بشه با استفاده از همون خاصیت جاوا این کار رو کرد و اون هم فقط هنگام بار گزاری سایت.

موفق باشید.

clover
پنج شنبه 28 مرداد 1389, 15:00 عصر
دوست عزیز
اول بفرمایید که آیا دارید از یک فریمورک ایجکس استفاده می کنید یا می خواهید در هنگام پست بک معمولی این اتفاق بیفته.
در مورد اولی (استفاده از یک فریمورک ایجکس) نوع فریمورک را ذکر کنید. اما در مورد دوم (پست بک معمولی) از جاوا اسکریپت استفاده کنید. کافی هست فرم مورد نظرتون را با استفاده از شی XMLHttpRequest به سرور ارسال کنید و در طول عملیات یک انیمیشن را نمایش بدید و پس از اتمام عملیات در طرف سرور صفحه را به صفحه مورد نظر ریدایرکت کنید.

aminghaderi
پنج شنبه 28 مرداد 1389, 15:49 عصر
دوست عزیز
اول بفرمایید که آیا دارید از یک فریمورک ایجکس استفاده می کنید یا می خواهید در هنگام پست بک معمولی این اتفاق بیفته.
در مورد اولی (استفاده از یک فریمورک ایجکس) نوع فریمورک را ذکر کنید. اما در مورد دوم (پست بک معمولی) از جاوا اسکریپت استفاده کنید.
منظورتون از فریم ورک اجکسی چیست؟؟؟
این رو هم یه توضیح بدید:

کافی هست فرم مورد نظرتون را با استفاده از شی XMLHttpRequest به سرور ارسال کنید و در طول عملیات یک انیمیشن را نمایش بدید و پس از اتمام عملیات در طرف سرور صفحه را به صفحه مورد نظر ریدایرکت کنید.
چطوری مثلا یه گرید ویو و کلی تکس باکس و ... رو داخل یه فرم به سرور اون هم توسط XmllHttpRequest بفرستیم؟؟؟

clover
جمعه 29 مرداد 1389, 10:39 صبح
منظورتون از فریم ورک اجکسی چیست؟؟؟
منظورم کاملا واضح هست :

Ajax framework (http://en.wikipedia.org/wiki/Ajax_framework)
List of Ajax frameworks (http://en.wikipedia.org/wiki/List_of_Ajax_frameworks)


چطوری مثلا یه گرید ویو و کلی تکس باکس و ... رو داخل یه فرم به سرور اون هم توسط XmllHttpRequest بفرستیم؟؟؟
فکر می کنم منظورم را بد برداشت کردید و شاید هم من بد رسوندم و این از اون جا ناشی میشه که صفحات ASP.NET همگی دارای یه فرم اصلی هستند که تمام کنترل ها درون اون قرار می گیرند. تصحیح می کنم :

کافی هست داده های مورد نظرتون را با استفاده از شی XMLHttpRequest به سرور ارسال کنید و در طول عملیات یک انیمیشن را نمایش بدید و پس از اتمام عملیات در طرف سرور صفحه را به صفحه مورد نظر ریدایرکت کنید. مثلا برای حذف یک آیتم از گرید ویو از یک TemplateItem استفاده کنید که حاوی لینکی هست که آی دی مورد نظر و عملیات حذف را توسط کوئری استرینگ به سرور ارسال میکنه.

این روشی هست که سرویس وبلاگ میهن بلاگ از اون استفاده کرده و ظاهرا هم کارا هست.

آرام جان گل
شنبه 30 مرداد 1389, 10:11 صبح
سلام
از پاسخ همه دوستان متشکرم
ولی من واقعاً از سه چهار تا جواب آخر سر در نمی یارم یعنی تا حالا برخورد نکردم و ذهنیت ندارم
ولی فایل ضمیمه ای که دوستمان ، کاربر amordad گذاشتند خوب بود و مطابق با پروژه من بود
فقط چیزی که هست اینه که من می خوام موقعی که به کاربر می گه چند لحظه صبر کنید یک باکس طوسی رنگ به حالت absulote روی کل صفحه من باز بشه تا کاربر نتونه هیچ دکمه ای را کلیک کنه و در حقیقت بفهمه که فعلاً صفحه از کار افتاده

باز هم از همگی ممنون که دوستانه و صمیمانه همکاری می کنند

aminghaderi
چهارشنبه 03 شهریور 1389, 11:13 صبح
منظورم کاملا واضح هست :
Ajax framework
List of Ajax frameworks

فکر می کنم منظورم را بد برداشت کردید و شاید هم من بد رسوندم و این از اون جا ناشی میشه که صفحات ASP.NET همگی دارای یه فرم اصلی هستند که تمام کنترل ها درون اون قرار می گیرند. تصحیح می کنم :

کافی هست داده های مورد نظرتون را با استفاده از شی XMLHttpRequest به سرور ارسال کنید و در طول عملیات یک انیمیشن را نمایش بدید و پس از اتمام عملیات در طرف سرور صفحه را به صفحه مورد نظر ریدایرکت کنید. مثلا برای حذف یک آیتم از گرید ویو از یک TemplateItem استفاده کنید که حاوی لینکی هست که آی دی مورد نظر و عملیات حذف را توسط کوئری استرینگ به سرور ارسال میکنه.

این روشی هست که سرویس وبلاگ میهن بلاگ از اون استفاده کرده و ظاهرا هم کارا هست.

شما زمانی که مثلا یه عملیات رو دارید انجام می دید رو مد نظر دارید ، ولی دوستمون زمان لود صفحه مد نظرشون هست ؟!
در زمان لود صفحه شما نمی تونید از XmllHttpRequest استفاده کنید به این دلیل که کنترل تمام المنت های صفحه دست این شی نیست و در نتیجه شما جز درخواست دریافت یه رشته متن کاری نمی تونید انجام بدید ، مگر یه تابع خیلی پیچیده بنویسید که تمام المنت ها رو با XmllHttpRequest لود کنید؟! که بازم توی فراخوانی اشیای Asp.NET بی نتیجه خواهید ماند ، چون این شی فقط المنت های Html براش قابل درک هست؟!
این مسائلی که خدمتون عرض کردم همه با بینش دقیق و تست شده هست ، می تونید شخصا تست فرمایید.

و اما "لطفا کمی صبر کنید..." (تست شده)



<SCRIPT TYPE="text/javascript" LANGUAGE="javascript">

<!-- PreLoad Wait - Script -->
<!-- This script and more from http://www.rainbow.arch.scriptmania.com

function waitPreloadPage() { //DOM
if (document.getElementById){
document.getElementById('prepage').style.visibilit y='hidden';
}else{
if (document.layers){ //NS4
document.prepage.visibility = 'hidden';
}
else { //IE4
document.all.prepage.style.visibility = 'hidden';
}
}
}
// End -->
</SCRIPT>

<BODY onLoad="waitPreloadPage();">

<DIV id="prepage" style="position:absolute; font-family:arial; font-size:16; left:0px; top:0px; background-color:white; layer-background-color:white; height:100%; width:100%;">
<TABLE width=100%><TR><TD><B>Loading ... ... Please wait!</B></TD></TR></TABLE>
</DIV>


کد های داخل Body رو اینجا Paste کنید.

.
.
.
.
.
.




</BODY>

z_software
یک شنبه 21 آذر 1389, 13:50 عصر
سلام دوست من
ببین این چیزی که شما میخواهی یکی از کنترل های ajax toolkit است
اما شما باید اول با ajax کار کرده باشی
1 مثال کوچک برای شما درست کردم ببین چجوریه
سلام دوست عزیز ممنون از پروژه ای گذاشتید یه جورایی دنبال همچن چیزی میگشتم . ولی من می خوام با Ajax toolkit زمانی که کاربر رو دکمه کلیک می کنه تمام صفحه خاکستری و غیرفعال بشه . Search که کردم ظاهراً باید از AnimationExtender استفاده کنم . dll هاش را نصب کردم ولی نمیدونم دقیقاً باید چی کار کنم ؟ چون اولاً کامپوننت هایی که رو فرم میارم ajaxToolkit:> نیستند و با asp:> شروع میشن ، نمی دونم webConfig تنظیم می خواهد ؟ خلاصه اگه ممکن است لطف کنید یه راهنمایی کنید مشکل من حل بشه .
خیلی خیلی ممنون

اوبالیت به بو
سه شنبه 23 اسفند 1390, 15:26 عصر
درود بر جناب aminghaderi (http://barnamenevis.org/member.php?91679-aminghaderi)

در این روشی که شما مثال زدید این پیغام در چه صورت محو خواهد شد؟ من تست کردم ولی هیچ وقت این متن منتظر بمانید حذف نشد

aminghaderi
سه شنبه 23 اسفند 1390, 19:29 عصر
درود بر جناب aminghaderi (http://barnamenevis.org/member.php?91679-aminghaderi)
در این روشی که شما مثال زدید این پیغام در چه صورت محو خواهد شد؟ من تست کردم ولی هیچ وقت این متن منتظر بمانید حذف نشد
درود بر شما.
حقیقت یادم نیست کارکردش چطوری بود ولی یادم هست که بروی یکی از وبسایت های شرکت سوار بود وبه خوبی کار می کرد من با فایرفاکس 3 اگر اشتباه نکنم تستش کرده بودم.
الانم اگر یکم بروش کار کنید بعید می دونم درست نشه .
مثلا در اخر خط Body می تونید استایل اون div را چنین بدهید :'display ='none در این صورت محو می شود.

موفق باشید.

elham1611
شنبه 09 اردیبهشت 1391, 00:43 صبح
من از Update process که در همون ajax extension هست استفاده میکنم

hamed2592
یک شنبه 10 اردیبهشت 1391, 07:52 صبح
این هم یه نمونه ...

فایل ضمیمه رو دانلود کنید .