تماس با ما

موبایل: 2565 038 0912

دفتر تهران: 2565 2842 021

دفتر گرگان: 2565 3233 017


آشنایی با کنترل UpdatePannel :
کنترل UpdatePannel این امکان را به شما می دهد ، تا برنامه های وب قوی و با رابط کاربری همانند نرم افزارهای دسکتاپ بسازید . به وسیله این کنترل می توانید بخش یا بخش هایی از صفحه را که می خواهید اطلاعات آن تغییر کرده را آپدیت کرده و مانع رفرش شدن و Postback کل صفحه به سرور شوید .
به این کار در اصطلاح آپدیت جزیی صفحه می گویند . در جالت ساده ، برای مثال زمانی که می خواهید اطلاعات نمایش داده شده توسط یک کنترل GridView را آپدیت کنید ، این کار مستلزم رفرش شدن و Postback کل صفحه به سرور است .
در حالی که با قرار دادن همان کنترل GridView درون یک کنترل UpdatePannel ، در زمان آپدیت فقط کنترل GridView آپدیت شده و بقیه صفحه بدون تغییر یا Postback باقی می مانند . این روش ، حس کار با یک نرم افزار دسکتاپ را به کاربر داده و باعث رضایت بیشتر وی و سرعت بالاتر پاسخگویی صفحه می شود .
تمامی این امور را می توانید با قرار دادن یک کنترل UpdatePannel به همراه یک کنترل ScriptManager بر روی صفحه و بدون نیاز به هیچ کدنویسی خاصی انجام دهید .
نحوه کار کنترل UpdatePannel :
کنترل UpdatePannel ، با جدا کردن بخش مورد نظر از صفحه ، در هنگام به روز رسانی خود ، فقط آن بخش یا بخش های مرتبط را آپدیت کرده و مانع رفرش شدن و Postback کل صفحه می شود .این کار به وسیله یک کنترل ScriptManager و کلاس PageRequestManager در صفحه انجام می شود .
در این حالت آپدیت صفحه فقط به بخش یا بخش هایی محدود می شود ، که درون کنترل UpdatePannel بوده و برای ارسال کد مشخص شده اند . مرورگر فقط محتویات آن بخش را برای سرور ارسال می کند ، سپس سرور درخواست را بررسی کرده و جواب آن را حاضر می کند . در آخر جواب حاضر شده به صفحه برگردانده شده و به وسیله متدهای DOM در بخش های HTML مورد نظر اعمال می شود .
مثال زیر ، انجام روند اجرای یک صفحه از ابتدا و سپس آپدیت شدن بخش قرار گرفته در کنترل UpdatePannel را به صورت یک دیاگرام نشان می دهد :
فعال کردن به روز رسانی بخشی ( partial-page update ) در صفحه :
کنترل UpdatePannel ، برای کارکرد صحیح در صفحه ، به یک کنترل ScriptManager نیاز دارد . به صورت پیش فرض ، به روز رسانی بخشی صفحه فعال است ، زیرا مقدار خاصیت EnablePartialRendering کنترل ScriptManager بر روی true تنظیم شده است .
کد زیر ، نحوه تعریف و استفاده از یک کنترل ScriptManager و UpdatePannel را به صورت همزمان نشان می دهد . کنترل UpdatePannel شامل یک دکمه فرمان است که در هنگام کلیک بر روی آن ، محتویات درون UpdatePannel به روز می شود .
به صورت پیش فرض مقدار خاصیت ChildrenAsTriggers کنترل UpdatePannel بر روی مقدار true تنظیم شده و همین باعث می شود تا کلیک بر روی دکمه فرمان که یک کنترل فرزند UpdatePannel است ، باعث آپدیت محتویات آن شود .

<asp:Button ID="Button1" Text="Refresh Panel" runat="server" />
<asp:ScriptManager ID="ScriptManager1" runat="server" />
 
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
    <Triggers>
           <asp:AsyncPostBackTrigger ControlID="Button1" />
    </Triggers>
    <ContentTemplate>
        <fieldset>
             <legend>UpdatePanel content</legend>
                     <%=DateTime.Now.ToString() %>
             </fieldset>
     </ContentTemplate>
</asp:UpdatePanel> 


 تعیین محتویات برای کنترل UpdatePannel :
می توانید محتویات درونی را برای کنترل UpdatePannel به صورت مستقیم در بخش کد وارد کرده و یا از ابزار ContentTemplate در ویرایشگر ویژوال استودیو استفاده کنید .
محتویات کنترل UpdatePannel ، درون تگ باز و بسته <ContentTemplate> آن ، قرار می گیرد . برای اضافه کردن محتویات در حین اجرا و به صورت برنامه ریزی شده ، بایستی از خاصیت ContentTemplateContainer کنترل استفاده نمایید .
تعیین کنترل یا کد برای فعال کردن به روز رسانی در کنترل UpdatePannel :
به صورت پیش فرض ، هر کنترل درون کنترل UpdatePannel که قابلیت  Postback  داشته باشد ، در هنگام تغییر ، باعث رفرش شدن و آپدیت محتویات درونی کنترل UpdatePannel می شود .
همچنین می توانید کنترل دیگری که خارج از کنترل UpdatePannel وجود دارد را نیز ، برای رفرش کردن آن تنظیم نمایید . این کار با تعیین یک trigger برای کنترل UpdatePannel انجام می شود . trigger ، کنترل یا رویدادی است که باعث می شود تا محتویات درون کنترل UpdatePannel رفرش شود . برای مثال یک دکمه فرمان .
کد زیر نشان می دهد که چگونه یک دکمه فرمان را برای رفرش کردن محتویات یک کنترل UpdatePannel به کار ببرید :

<asp:Button ID="Button1" Text="Refresh Panel" runat="server" />
<asp:ScriptManager ID="ScriptManager1" runat="server" />
 
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
    <Triggers>
           <asp:AsyncPostBackTrigger ControlID="Button1" />
    </Triggers>
    <ContentTemplate>
        <fieldset>
             <legend>UpdatePanel content</legend>
                     <%=DateTime.Now.ToString() %>
             </fieldset>
     </ContentTemplate>
</asp:UpdatePanel> 


 

trigger به وسیله تگ <asp:AsyncPostBackTrigger> درون المنت <Triggers> کنترل UpdatePannel تعیین می شود . ( در محیط ویژوال استودیو می توانید برای کنترل مورد نظرتان ، trigger هایی را به وسیله پنجره UpdatePanelTrigger Collection Editor ایجاد نمایید ) . 

کنترل های UpdatePannel چگونه رفرش می شوند :
لیست زیر تعیین می کند که چگونه و چه زمانی کنترل UpdatePannel رفرش شود :
    اگر مقدار خاصیت UpdateMode را روی Always تنظیم کنید ، کنترل UpdatePannel با هر Postback ای ، از هر نقطه یا کنترلی در صفحه رفرش می شود . این مسله شامل تمام کنترل هایی که چه درون UpdatePannel هستند یا بیرون آن ، صدق می کند .
    اگر مقدار خاصیت UpdateMode را روی Conditional کفه مقدار پیش فرض است ، فقط در حالات زیر محتویات کنترل به روز می شود :
        هنگامی که یک Postback یا trigger برای کنترل UpdatePannel فعال شود .
        هنگامی که به صورت مستقیم رویداد Update کنترل UpdatePannel را فراخوانی نمایید .
        هنگامی که کنترل UpdatePannel در یک کنترل دیگر UpdatePannel قرار دارد و کنترل مادر parent آن ، به روز می شود .
        هنگامی که مقدار خاصیت ChildrenAsTriggers کنترل روی true تنظیم شده باشد و یک کنترل فرزند درونی آن عمل Postback را انجام دهد .

منبع خبر


سفارش طراحی سایت

سفارش طراحی سایت

google
yahoo
alexa
ebook
Baidu.com
Wikipedia
Blogger.com
Windows Live
Amazon.com
eBay
Bing
Ask
استانداری گلستان
f shdj, sefaresh, sefaresh .net, sefaresh.net, sthva, sthva nhj kj, sthva.kj, stthva.kj, xvhpd, آیفون, استفاده, اندروید, اپل, اپلیکیشن, اینترنت, باتری, بازار, بازی, دستگاه, دوربین, سامسونگ, سفارش, سفارش دات نت, سفارش دات نت sefaresh.net, سفارش.نت, سیستم, طراح وب, طراحي وب سايت, طراحی, طراحی وب سایت, فناوری, مایکروسافت, موبایل, هوشمند, کاربران, کمپانی, گلکسی, گوشی, گوشی هوشمند, گوگل

نمایش تمامی تگ ها
بسته ویژه مدارس مدارس
بسته ویژه پزشکان پزشکان
بسته ویژه مهندسین مهندسین