Smart Navigation
چيست؟
مفهوم Smart Navigation و فوايد آن
Smart Navigation يكى از بهترين ابزارهاى جديدى است كه ASP.NET آنرا عرضه كرده است. اين ابزار جديد باعث شده ظاهر برنامه هاى وب و احساسى كه نسبت به آن
وجود دارد شباهت بيشترى با برنامه هاى عادى و نوشته شده براى ويندوز پيدا كند.
يكى از موانع بزرگ برنامه هاى تحت وب به معمارى و ساختار HTTP برمى گردد. جاييكه
مجبوريم اطلاعات جمع آورى شده در سمت مشترى را به سرور بازگردانيم. به همين دليل
مجبور به رسم مجدد و كامل صفحه اى كه قبلا ديده ايم مى باشيم، كه اين نه تنها باعث
مى شود يك حالت فلش مانند در اين رفت و برگشت و رسم مجدد رخ دهد، بلكه براى صفحه
هاى بلند كه براى ديدن تمام صفحه نيازمند بهscrolling هستيم، باعث مى شود كه
ديدمان را به اول صفحه انتقال دهد، چيزى كه هم شايد دلخواه ما نباشد و هم اينكه
ممكن است باعث سردرگمى كاربر گردد. همچنين اين فرآيند باعث تغيير فوكوس كنترل ها و
بسيارى از اتفاقات ديگرنيز مى شود.
در برنامه هاى عادى ويندوز ما به طور معمول فقط قسمت هايى از صفحه
را به روز مى كنيم كه تغييرى در آن ايجاد شده باشد يا تحت تاثير چيزى قرار گيرند و
اين بدون نياز به تغيير در كل برنامه مى باشد (مثلا فقط يك عضو به listbox ما اضافه مى شود. بدون تغيير و رسم مجدد فرم
برنامه).
Smart
Navigation يا به
عبارتى هدايت هوشمندانه اين توانايى موجود در برنامه هاى ويندوز را براى برنامه
هاى تحت وب فراهم مى كند! اما قبل از هر چيز بايد بدانيد كه اين ابزار فقط براى IE مى باشد و آن هم نسخه
هاى ۵ به
بالاتر آن. با اين وجود شما مى توانيد Smart Navigation را فعال يا غيرفعال
سازيد، بدون آنكه تاثيرى در برنامه شما بگذارد. حتى اگر شما در پروژه تان مرورگرهاى
محتلفى را مدنظر قرار داده باشيد، مى توانيد Smart
Navigation را
فعال سازيد. در اين صورت ASP.NET نوع مرورگر را تشخيص داده و Smart
Navigation را فقط
براى مرورگرهاى پشتيبانى شده فعال مى سازد.
چهار مورد برجسته اى كه Smart Navigation فراهم مى كند عبارتند
از:
• صفحه در ميان درخواست ها يك نمايش ممتد را داراست و به عبارتى
حالت فلش زدن به خود نمى گيرد.
• موقعيت Scroll را حفظ مى كند.
• فوكوس عضو دارنده فوكوس را نگه مى دارد.
• آخرين صفحه درون تاريخچه (History) نگهدارى مى شود.
اين ابزار در حالت واقع گرايانه براى برنامه هايى كه ارسال به
عقب(!) Postback
فراوانى دارند طراحى شده است ولى با توجه به اين نكته كه محتواى صفحه نبايد زياد
تغيير نكند. احتمالا بنا به دلايل كارايى و نه اينكه
در تغييرات زياد ايرادى بهم بزند - مترجم. شايد يك چيز شگفت آور در مورد اين ابزار
اين باشد كه شما در حقيقت نياز به نوشتن هيج كد و برنامه اى نداريد.
نحوه استفاده
Smart
Navigation درون
هدايت كننده صفحه (Page
directive : <%@ %>)،
براى تنظيم يك صفحه و درون web.config براى تنظيم كل برنامه
استفاده مى شود. براى تنظيم در Page Directive به صورت زير عمل كنيد:
<%@
Page SmartNavigation=true %>
و براى تنظيم در web.config از ساختار زير استفاده نماييد:
<Configuration>
<System.web>
<Pages SmartNavigation=true />
</System.web>
</Configuration>
روش كار اينگونه است كه كل صفحه بدرون يك فريم دورنى مخفى (hidden IFrame) بارگذارى (load) مى شود و سپس فقط قسمت
هاى تغيير كرده دوباره رندر(render) مى شوند.
بازگشت به فهرست
بازگشت به صفحه نخست