جلسه اول آموزش AJAX
جلسه اول آموزش AJAX
براي اجراي اين مباحث شما بايد Visual Studio 2008 يا Visual Studio 2010 رو روي سيستمتون نصب كرده باشيد. البته با VS2005 هم ميشه اما اون رو توصيه نمي كنم چون راه اندازي AJAX توش يه مقدار دنگ و فنگ داره!
اما توي VS2008 يا VS2010 بصورت پيش فرض موجوده
شما بعنوان پيش نياز بايد تا حدي به برنامه نويسي صفحات وب و به خصوص با ASP.Net آشنايي داشته باشيد
به اين ترتيب كه مي گم عمل كنيد:
از منوي File گزينه New و بعدش Web Site رو انتخاب كنيد.
به هر سبكي كه باهاش راحت هستيد وب سايتتون رو آماده كنيد.
زبان رو C# يا VB انتخاب كنيد. ولي من با #C اينجا آموزش مي دم. البته اين رو هم بگم كه هيچ فرقي بين دستورات VB و #C وجود نداره و اگه شما به VB تسلط داريد با خوندن اين آموزشها مي تونيد روند كارتون رو توي VB هم پيش ببريد.
خوب
حالا يه صفحه جلوتون باز شده كه بالاش نوشته Default.aspx كه بعنوان صفحه اصلي وب سايتتون هست
حالا يه اول يه Label روي صفحه اضافه كنيد و اسمش رو بذاريد lblOldTime
بعدش چند تا Enter بزنيد تا يه مقدار بريد پايين تر و حالا از توي ToolBox از قسمت AJAX Extionsions يه دونه ScriptManager به صفحه اضافه كنيد.
بايد بگم كه ScriptManager كلاسيه كه اجراي عمليات AJAX رو تحت كنترل مي گيره و در واقع بدون تنظيمات خاصي به شما خدماتي كه مد نظرتون هست رو ارائه مي كنه. اين شئ توي نمايش، به كاربر نشون داده نميشه! پس شما هر جا كه دوس داشته باشيد مي تونيد اون رو قرار بديد
خوب؛ حالا نوبت به اضافه كردن مهمترين شئ به صفحه مي رسه. از همون قسمت AJAX Extensions يه دونه UpdatePanel به صفحه اضافه كنيد.
شئ UpdatePanel همون بخشي هست كه مي تونيد بصورت موضعي توي صفحه Refresh كنيد. بدون اينكه ساير بخشهاي صفحه تغييري داشته باشند! :نیش:
حالا توي UpdatePanel يه دونه Label به اسمه lblAjaxTime و يه Button به اسم btnRefresh اضافه كنيد.
حالا كد زير رو توي Page_Load بنويسيد:
کد:
lblOldTime.Text = DateTime.Now.ToString();
و توي btnRefresh اين كد رو بنويسيد:
کد:
lblAjaxTime.Text = DateTime.Now.ToString();
حالا صفحه رو اجرا كنيد.
نتيجه اجرا چيه؟
زماني كه صفحه بارگذاري ميشه تاريخ و زمان فعلي توي Label اول نوشته مي شه كه زمان اجراي عمليات Page_Load هستش.
حالا با زدن دكمه btnRefresh مي بينيد كه فقط مقدار Label دوم تغيير پيدا مي كنه.
اين قضيه به ما نشون ميده كه به زدن دكمه در اين روش، صفحه از اول بارگذاري نميشه! چون اگه از اول بارگذاري ميشد، اونوقت بايد مقدار Label اول هم تغيير مي كرد!
براي اينكه متوجه بشيد قضيه از چه قرار بود توصيه مي كنم همين كار رو يك بار هم بودن استفاده از UpdatePanel و در واقع AJAX اجرا بكنيد.