1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

آموزش Ajax/معرفی کنترل UpdateProgress

شروع موضوع توسط Amon Amarth ‏22/4/13 در انجمن Ajax

  1. کاربر ارشد

    تاریخ عضویت:
    ‏7/6/12
    ارسال ها:
    12,082
    تشکر شده:
    28,151
    امتیاز دستاورد:
    113
    جنسیت:
    مرد
    [h=2]معرفی کنترل UpdateProgress[/h]
    آشنایی با کنترل UpdateProgress :

    از کنترل UpdateProgress ، برای نمایش یک نمایه تصویری یا یک پیام متنی ، که میزان پیشرفت پروسه عملیات لود شدن و به روز رسانی صفحه را نشان می دهد ، استفاده می شود .
    شما می توانید ظاهر و محتویان کنترل UpdateProgress را به راحتی تعیین نمایید . نمونه این کنترل را تاکنون زیاد مشاهده کرده اید . برای مثال هنگامی که صفحه در حال لود کردن اطلاعات از یک منبع داده ای است ، یک ساعت دوار به کاربر نشان می دهد ، که عملیات در حال انجام است و باید منتظر بماند .
    برای جلوگیری از نمایش فوق سریع کنترل در زمانی که عملیات به روز رسانی صفحه بسیار سریع است ، می توان یک مدت زمان تاخیری را به عنوان Delay برای نمایش کنترل در نظر گرفت .
    شما می توانید یک یا چند کنترل UpdateProgress را بر روی صفحه قرار دهید ، که هر کدام مربوط به یک کنترل UpdateProgress باشند . یا اینکه یک کنترل UpdateProgress واحد را برای چندین کنترل UpdatePannel به کار ببرید .

    نحوه کار کنترل UpdateProgress :
    کنترل UpdateProgress ، در هنگام اجرا بر روی صفحات وب ، به صورت یک تگ <div> قرار می گیرد ، که بسته به اینکه کنترل UpdatePannel مربوط به آن ، در حال به روز رسانی است یا خیر ، مخفی یا نمایان می شود .
    در هنگام لود اولیه صفحه یا رفرش شدن کل صفحه ، این کنترل نمایش داده نخواهد شد .
    اتصال یک کنترل UpdateProgress به یک کنترل UpdatePannel :

    شما می توانید به وسیله خاصیت AssociatedUpdatePanelID کنترل UpdateProgress را به یک کنترل UpdatePannel متصل کنید . هنگامی که عمل Postback یا رفرش شدن توسط کنترل UpdatePannel انجام می شود ، کنترل UpdateProgress مرتبط با آن نمایش داده می شود .
    اگر کنترل UpdateProgress را به هیچ کنترل UpdatePannel خاصی مرتبط نکنید ، با هر بار Postback یا به روز رسانی ، آن کنترل در صفحه نمایش داده خواهد شد .
    تعیین محتویات مورد نظر برای یک کنترل UpdateProgress :

    می توانید تعیین کنید تا متن یا پیام خاصی توسط کنترل UpdateProgress در هنگام نمایش ، نشان داده شود . برای این منظور بایستی متن یا کد HTML مورد نظر خود را درون تگ باز و بسته ProgressTemplate کنترل قرار دهید . همانند مثال زیر :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] کد [/TD]
    [TD="class: prdes, align: left"] <asp:UpdateProgress ID="UpdateProgress1" runat="server">
    <ProgressTemplate>
    An update is in progress...
    </ProgressTemplate>
    </asp:UpdateProgress> [/TD]
    [/TR]
    [/TABLE]
    تعیین چگونگی نمایش محتویات کنترل :

    هنگامی که مقدار خاصیت DynamicLayout کنترل UpdateProgress را بر روی true تنظیم نمایید ، کنترل در هنگام اجرا بر روی صفحه ، هیچ فضایی را اشغال نمی کند . در عوض ، صفحه به صورت دینامیکی آن را در مواقع لازم نمایش خواهد دارد . برای پشتیبانی از نمایش دینامیک ، کنترل UpdateProgress بر روی صفحه در هنگام اجرا به صورت یک تگ <div> رندر می شود ، که مقدار خاصیت dispaly آن برابر با none است .
    اما هنگامی که مقدار خاصیت DynamicLayout روی false باشد ، کنترل UpdateProgress فضایی را بر روی صفحه اشغال می کند ، حتی اگر مخفی باشد . در این حالت ، کنترل به صورت یک تگ <div> رندر شده ، که مقدار خاصیت dispaly آن روی block و مقدار خاصیت visibility اش روی hidden تنظیم شده است .

    قرار دادن کنترل UpdateProgress بر روی صفحه :

    می توانید کنترل UpdateProgress را درون یا بیرون از کنترل UpdatePannel قرار دهید . یک کنترل UpdateProgress هر زمان که کنترل UpdatePannel مرتبط به آن ، در حال به روز رسانی باشد ، نمایش داده می شود . حتی اگر درون کنترل UpdatePannel دیگری قرار گرفته باشد .
    تعیین اینکه چه زمانی کنترل UpdateProgress نمایش داده شود :
    شما می توانید به صورت برنامه ریزی شده ، تعیین نمایید که چه زمانی کنترل UpdateProgress نمایش داده شود . برای این منظور بایستی از رویدادهای beginRequest و endRequest در جاوا اسکریپت استفاده نمایید . ( متعلق به کلاس PageRequestManager ) .
    در رویداد beginRequest عنصر DOM ای که جانشین کنترل UpdateProgress است را نمایش داده و در رویداد endRequest آن را مخفی نمایید .




    منبع: developer1