iranblog

تبلیغات در ایران بلاگ

تبلیغات

برای ایجاد و بلاگ با امکانات نامحدود در ایران بلاگ اینجا را کلیک کنید

آخرين ارسالهاي انجمن

برگشت   iranblog > انجمن کامپيوتر > برنامه نویسی > AJAX

پاسخ
 
ابزار هاي گفتگو جستجو اين تالار نمايش رسم
قديم 01-15-2009   #1 (permalink)
secret


مدیر بخش مذهب و فلسفه 

 
آواتار نقاب
 
تاريخ عضويت: Jul 2007
پست ها: 8,606

درجه: 61 [♥ Bأ©-Yأھu ♥♥ Bأ©-Yأھu ♥♥ Bأ©-Yأھu ♥♥ Bأ©-Yأھu ♥♥ Bأ©-Yأھu ♥]
سابقه: 2056 / 2284
سحر و جادو: 2868 / 12010
تجربه: 92%

سپاس ها: 351
از این کاربر 2,089 بار در 1,193 پست تشکر شده
پيش گزيده نحوه استفاده از کنترل های asp.net ajax

مقدمه :

در مورد مفاهیم اولیه AJAX یا ای جکس میتونین به این [برای مشاهده لینکها باید ثبت نام کنید] ] مراجعه کنید . فرض بر اینه که دوستان آشنایی اولیه دارن .
مایکروسافت ازون جایی که ارادت خاصی به مشتریاش داره! اومد کار رو برای برنامه نویسان ASP.NET راحت کرد و مجموعه ای رو تحت عنوان ATLAS ارائه کرد که امکان ایجاد حرکت های نمایشی AJAX ای رو در ASP.NET فراهم میکرد !
این مجموعه توسعه یافت و تحت عنوان MS AJAX یا ASP.NET AJAX نهایی شد .
در این مجموعه کنترل هایی ارائه شده که هر کدوم کاربرد خاصی دارن و مورد استفاده در ASP.NET 2.0 هستن .
برای شروع ابتدا باید ASP.NET AJAX v1.0 رو که حدود 1.4 مگابایته از سایت [برای مشاهده لینکها باید ثبت نام کنید] ] دانلود و نصب کنید . پس از نصب ، کنترل های مورد نظر به ToolBox ویژوال استودیو اضافه خواهد شد . در پست های بعدی راجع به کنترل های AJAX Toolkit هم صحبت میکنیم .
در ادامه یک پروژه ایجاد و از امکانات اولیه ASP.NET AJAX در اون پروژه استفاده می کنیم . .
__________________

نقاب آفلاين است   پاسخ با نقل قول

آپلود عکس

قديم 01-15-2009   #2 (permalink)
secret


مدیر بخش مذهب و فلسفه 

 
آواتار نقاب
 
تاريخ عضويت: Jul 2007
پست ها: 8,606

درجه: 61 [♥ Bأ©-Yأھu ♥♥ Bأ©-Yأھu ♥♥ Bأ©-Yأھu ♥♥ Bأ©-Yأھu ♥♥ Bأ©-Yأھu ♥]
سابقه: 2056 / 2284
سحر و جادو: 2868 / 12010
تجربه: 92%

سپاس ها: 351
از این کاربر 2,089 بار در 1,193 پست تشکر شده
پيش گزيده

نحوه استفاده از کنترل های ASP.NET AJAX**قسمت دوم**
یه نکته و اون اینکه پس از نصب اون فایل یه سری dll در مسیر پیش فرض زیر بصورت اتوماتیک کپی میشن :
کد:
C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions
چیزی که مهمه اینه اگه خواستید سایتتون رو روی هاست Upload کنید باید این dll هارو در پوشه bin پروژتون روی هاست کپی کنید .
این مساله یکی از سوالات متداول دوستان بوده که وقتی سایتشون رو آپلود می کردن با یه سری Error های جاوا اسکریپتی مواجه میشدن که این بر میگرده به در نظر نگرفتن همین نکته .(البته در بعضی از هاست ها بدون کپی کردن این dll ها هم ای جکس سایت شما به زیبایی کار خواهد کرد که این نشون دهنده ی این موضوع هست که اون فایل رو سرور نصب شده)
خوب پس از نصب ASP.NET AJAX Extensions v1.0 ویژوال استادیو رو باز کنید . از منوی فایل گزینه New Web Site رو انتخاب کنید ، در پنجره ای که باز میشه یه آیتم جدید به نام ASP.NET AJAX-Enabled Web Site اضافه شده که شما برای استفاده از کنترل های ای جکس در پروژتون باید این گزینه رو انتخاب کنید و بعد هم OK . در Toolbox عنوانی اضافه شده به نام AJAX Extensions که اگه بازش کنین لیست کنترل های ای جکسی رو می بینین ...
کنترل های UpdatePanel و UpdateProgress بیشترین استفاده رو دارن .
توی اکثر وب سایت ها دیدید که مثلا موقع ثبت نام وقتی میخواین username رو وارد می کنین یه باتن هست که availabe بودن اون username رو بررسی میکنه وقتی روش کلیک میکنین یه چیزی مثه Please Waiting سه چهار ثانیه نمایش داده میشه و بدون اینکه صفحه Refresh شه میگه این username قبلا ثبت شده و یکی دیگه وارد کن ! این عملیات توسط همین دو کنترل به سادگی انجام میشه ...
در محیط Design روی فرم یه آبجکتی به نام ScriptManager قرار داره بهش کار نداشته باشین بزارین باشه واسه خودش! برای شروع یه Label با یه Button رو فرم بذارید و در رویداد Page Load بنویسید :
کد:
Label1.Visible=false;
و در Onclick باتن visibilty رو true کنید :
کد:
Label1.Visible=true;
وقتی برنامه رو Run کنید label دیده نمیشه و با کلیک روی باتن و Refresh شدن صفحه label ظاهر میشه ! در واقع باتن جزء کنترل هایی هست که باعث postback صفحه میشه . خوب حالا از Toolbox کنترل UpdatePanel رو انتخاب کنید و روی فرم قرار بدید label و button رو در این UpdatePanel بندازید و برنامه رو اجرا کنید حالا اگه روی button کلیک کنید اعجاب سال 2007 رو خواهید دید ! بدون اینکه صفحه Refresh بشه label ظاهر میشه .

کنترل هایی که با UpdatePanel سازگار نیستن عبارتند از :
  • TreeView & Menu
  • ASP.NET Web Parts Control
  • FileUpload که البته راه حل داره !
  • GridView & DetailsView البته زمانی که ویژگی EnableSortingAndPagingCallbacks به true ست شده باشه . در حالت پیش فرض false هست .
  • Login,PasswordRecovery,ChangePassword,CreateUserWi zard
  • Substitution
  • Validation Controls
اگه خواستین کنترل FileUpload رو تو UpdatePanel بذارید ازین [برای مشاهده لینکها باید ثبت نام کنید] ] می تونین استفاده کنید.
بقیه کنترل ها مشکل خاصی ندارن و قابل استفاده هستن .
همونطور که دیدید بدون refresh صفحه کدی که در رویداد Button بود اجرا شد . حالا این کد هر چیزی میتونه باشه مثه یه Query که از دیتابیس گرفته میشه و یه سری رکورد قراره برگردونه ... عملا به دلیل postback نشدن صفحه سایت شما UserFriendly تر میشه و بقول بچه ها به دل کاربر میشینه !
در حالتی که یه label ظاهر یا مخفی میشه این کار خیلی سریع انجام میشه اما ممکنه در button شما یه پرس و جوی دیتابیسی نوشته باشی و در حالتی که سایت Upload شده و با توجه به سرعت زیبای اینترنت در وطن مثلا 5 ثانیه زمان ببره تا کد توی رویداد کلیک باتن اجرا شه ، تو این حالت معمولا یه شکل گرافیکی با یه متن مثه لطفا صبر کنید به کاربر نمایش داده میشه تا کاربر بفهمه که پردازش در حال انجامه !
این کار توسط کنترل UpdatePrgress انجام میشه که در ادامه بهش خواهیم پرداخت . . .
__________________

نقاب آفلاين است   پاسخ با نقل قول
قديم 01-15-2009   #3 (permalink)
secret


مدیر بخش مذهب و فلسفه 

 
آواتار نقاب
 
تاريخ عضويت: Jul 2007
پست ها: 8,606

درجه: 61 [♥ Bأ©-Yأھu ♥♥ Bأ©-Yأھu ♥♥ Bأ©-Yأھu ♥♥ Bأ©-Yأھu ♥♥ Bأ©-Yأھu ♥]
سابقه: 2056 / 2284
سحر و جادو: 2868 / 12010
تجربه: 92%

سپاس ها: 351
از این کاربر 2,089 بار در 1,193 پست تشکر شده
پيش گزيده

نحوه استفاده از کنترل های ASP.NET AJAX**قسمت سوم**
و اما UpdateProgress Control .
همونطور که در پست قبل گفتم ممکنه فرآیند پاسخگویی به کاربر مدتی زمان ببره و چون صفحه هم Refresh نمیشه یه جوری باید به کاربر فهموند که درخواستش در حال پردازشه و باید منتظر بمونه در غیر اینصورت کاربر فکر میکنه انجام نشده و ممکنه چندین بار روی Button کلیک کنه که باعث بروز خطا میشه ! برای فهم بهتر با یه مثال عملکرد UpdateProgress رو بررسی میکنیم .
یه پروژه ی جدید از نوع AJAX-Enabled Web Site ایجاد کنید یه UpdatePanel تو فرم بذارید و یه Label و یه Button توی UpdatePanel . در رویداد Page_Load کد زیر رو بنویسید :
کد:
Label1.Text=DateTime.Now();
برنامه رو اجرا کنید Time جاری در Label نمایش داده میشه و اگه روی Button کلیک کنید Time آپدیت میشه بدون Refresh صفحه ! با کلیک روی button رویداد Page_Load فراخوانی میشه و چون button در UpdatePanel هست postback ای نداریم . خوب تا اینجا دقیقا مثه مثال قبلی بود .
اما مطلب جدید اینکه چون ما برنامه مون روی localhost اجرا میشه سرعت بسیار بالاست برای شبیه سازی محیط localhost به محیط سرور اصلی (یعنی زمانی که سایت رو رو هاست Upload میکنیم) از یه خط کد استفاده میکنیم تا کاربرد UpdateProgress رو بتونیم دریابیم . این خط کد اینه :
کد:
System.Threading.Thread.Sleep(3000);
این خط رو در رویداد Page_Load اضافه کنید یعنی Page_Load بشه این :
کد:
System.Threading.Thread.Sleep(3000);
Label1.Text=DateTime.Now();
این خط کد یه delay یا تاخیر در اجرای کد ایجاد میکنه که مقدارش برابر با همون عددی هست که داخل پرانتز بهش پاس شده و این مقدار به میلی ثانیه هست یعنی الان 3 ثانیه تاخیر ایجاد میکنه حالا طبیعتا اگه بجای 3000 نوشته بودیم 5000 ، 5 ثانیه تاخیر داشتیم !
اگه برنامه رو دوباره اجرا کنید و روی button کلیک کنید بعد از 3 ثانیه Time آپدیت میشه ! بعبارت دیگه هروقت روی button کلیک کنی بعد 3 ثانیه time آپدیت میشه .
علت استفاده ازون کد فقط شبیه سازی محیط localhost با server هست وگرنه وقتی سایت رو آپلود کردید اون خط رو باید پاک کنید . چون رو سرور به اندازه کافی تاخیر هست مخصوصا اگه در باتن یه ارتباط با دیتابیس برقرار کرده باشید و مثلا یه select ساده نوشته باشین .
حالا میخوایم کاری کنیم که در طول این مدت یعنی 3 ثانیه بنویسه که Please Wait و یه شکل گرافیکی مثه سایت برنامه نویس (همین که یه گردالی میچرخه! ) رو نشون بده .
یه کنترل UpdateProgress از toolbox روی فرم قرار بدید و یه متنی رو مثه "لطفا منتظر بمانید..." توش تایپ کنید و بعد پروژه رو run کنید وقتی روی باتن کلیک کنید اون متن به مدت 3 ثانیه نمایش داده میشه و بعد time آپدیت میشه . علاوه بر متن یه فایل gif (در ضمیمه هست) هم میتونید قرار بدید . فقط دقت کنید در حالتی که سایت رو آپلود میکنید دیگه نیازی به کد Threading نیست و متن UpdateProgress بصورت اتوماتیک تا زمانی که جواب از سرور بیاد نمایش داده میشه و بعد ازون دیگه نمایش داده نمیشه .

در ادامه به کنترل های Ajax Toolkit خواهیم پرداخت ...
__________________

نقاب آفلاين است   پاسخ با نقل قول
قديم 01-15-2009   #4 (permalink)
secret


مدیر بخش مذهب و فلسفه 

 
آواتار نقاب
 
تاريخ عضويت: Jul 2007
پست ها: 8,606

درجه: 61 [♥ Bأ©-Yأھu ♥♥ Bأ©-Yأھu ♥♥ Bأ©-Yأھu ♥♥ Bأ©-Yأھu ♥♥ Bأ©-Yأھu ♥]
سابقه: 2056 / 2284
سحر و جادو: 2868 / 12010
تجربه: 92%

سپاس ها: 351
از این کاربر 2,089 بار در 1,193 پست تشکر شده
پيش گزيده

نحوه استفاده از کنترل های ASP.NET AJAX**قسمت چهارم**
AJAX Control Toolkit
============
خوب در این پست شیوه نصب AJAX Control Toolkit رو بررسی میکنیم .
همون طور که در پست های قبلی گفته شد کنترل های Toolkit کنترل هایی هستن که هر کدوم به منظوری خاص ایجاد شدن و در واقع یه سری کنترل برای سفارشی کردن وب سایت شماست . یه نگاه به این کنترل ها بندازید تا التفات کامل حاصل شود ، در لیست سمت چپ کنترل ها رو انتخاب کنید یه نمونه میبینید که میتونید تستش کنید :
[برای مشاهده لینکها باید ثبت نام کنید] ]

برای این که بتونید از این کنترل در وب سایتتون استفاده کنید این مراحل رو باید انجام بدید :
از [برای مشاهده لینکها باید ثبت نام کنید] ] فایل AjaxControlToolkit.zip رو دانلود کنید بعد Unzip شدشو تو مسیر زیر کپی کنید :
کد:
C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions
تو اون پوشه ای که کپی کردید تو پوشه AjaxControlExtender یه فایل هست با پسوند VSI. این فایل رو اجرا کنید . بعد ویژوال استادیو رو باز کرد و یه وب سایت جدید NEW کنید در پنجره ی NEW یه گزینه ای به نام AJAX Control Toolkit Website اضافه شده ، اونو انتخاب کنید و پروژه رو ایجاد کنید .
سپس توی Toolbox کلیک راست کنید Add a Tab رو انتخاب کنید . توی Tab بنویسد مثلا AJAX Control Toolkit . حالا در همون قسمت کلیک راست کنید choose item رو انتخاب کنید ، بعد دکمه Browse رو بزنید تو پوشه ای که در درایو C کپی کردین یه dll به نام AjaxControlToolkit هست اونو انتخاب کنید و ....
در اون قسمت این کنترل ها تو Toolbox اضافه میشن که مثه سایر کنترل ها با یه drag-drop رو فرم قرار میگیرن و قابل استفاده هستن .
دیگه نحوه استفاده از این کنترل ها با توجه به وسعت بسیار اینترنت و sample های موجود در این زمینه کار خیلی سختی نیست !
__________________

نقاب آفلاين است   پاسخ با نقل قول
پاسخ

« Xhtml | - »
ابزار هاي گفتگو جستجو اين تالار
جستجو اين تالار:

جستجو پيشرفته
نمايش رسم

قوانين ايجاد گفتگو در تالار
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is روشن
شکلک ها روشن هستند
کد [IMG] اکنون روشن ميباشد
HTML کد خاموش مي باشد
Trackbacks are خاموش
Pingbacks are خاموش
Refbacks are خاموش


گفتگو هاي مشابه
نام گفتگو شروع کننده گفتگو تالار پاسخ ها آخرين پست
نحوه استفاده از Quick Mask Oguz تمرینات و مباحث آموزشی 0 12-21-2008 08:49 PM
نحوه استفاده از فايروال ويندوز Xp ( بخش اول ) ELVIS سيستم عامل ها 0 11-20-2008 07:05 PM
Ajax را بدون Ajax تجربه کنید! MaRdoNiuS ASP/ASP.net/MSSQL/Access 2 10-13-2007 01:23 AM
فلوراید و نحوه استفاده از آن kadkhoda_13 تغذیه و سلامت 1 08-26-2007 06:20 PM
نحوه استفاده از Firewall Win XP hamid_zebel82 ترفندهای ریجستری و برنامه های کامپیوتری 0 05-03-2007 02:04 PM

آپلود عکس

واحد زمان برحسب ساعت لندن +4.5. ساعت هم اکنون 11:05 PM.


Powered by: vBulletin Version 3.8.3
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.