تصدير (0) طباعة
توسيع الكل
هذه المقالة مترجمة آليًا. حرك المؤشر فوق الجمل في المقالة لعرض النص الأصلي. المزيد من المعلومات.
الترجمة
الأصلي

UpdateProgress الفئة

.NET Framework 4

توفير ملاحظات مرئية في مستعرض عند المحتويات ل واحد أو المزيد UpdatePanelيتم محدث عناصر التحكم.

مساحة الاسم:  System.Web.UI
التجميع:  System.Web.Extensions (في System.Web.Extensions.dll)

public class UpdateProgress : Control, 
	IAttributeAccessor, IScriptControl
<asp:UpdateProgress />

في هذا الموضوع:

مقدمة

UpdateProgress عنصر تحكم تمكنك من توفير معلومات حول تقدم جزئيا من صفحة رسم هندسي. postbacks أو تقديم الصفحة الأولية، UpdateProgressلا يتم عرض محتويات عنصر تحكم.

يمكن أن تحتوي على الصفحة عدة UpdateProgressعناصر التحكم. كل منها يمكن أن تقترن ب مختلف UpdatePanelعنصر تحكم. بدلاً من ذلك، يمكنك استخدام واحدة UpdateProgressعنصر تحكم وإقرانها بكل UpdatePanelعنصر تحكم s تشغيل الصفحة.

UpdateProgress التحكم renders divالعنصر الذي يتم عرض أو مخفي استناداً إلى الموقع ينشأ إعادة النشر وما إذا كان AssociatedUpdatePanelIDخاصية UpdateProgressعنصر التحكم هو التعيين.

إقران تحديث التقدم مع عنصر تحكم تحديث اللوحة

يجب إقران UpdateProgressعنصر تحكم s مع UpdatePanelعنصر تحكم بتعيين AssociatedUpdatePanelIDخاصية UpdateProgressعنصر تحكم. عند إعادة النشر حدث تنشأ من داخل UpdatePanelعنصر تحكم مقترن بأي UpdateProgressتعرض عناصر التحكم. في حالة عدم تعيين AssociatedUpdatePanelIDخاصية، UpdateProgressعنصر تحكم عرض التقدم لأي غير متزامن إعادة النشر التي تنشأ من داخل أي UpdatePanelعنصر التحكم. هو dهوplayed أيضا لعناصر التحكم التي تكون المشغلات للوحات.

AssociatedUpdatePanelID خاصية تأثير التالية UpdateProgressعنصر تحكم سلوك:

  • عند AssociatedUpdatePanelIDخاصية هو لم يتم تعيينها، UpdateProgressعنصر التحكم هو dهوplayed ل postbacks التالي:

    • postbacks التي تنشأ من داخل أي UpdatePanelعنصر تحكم.

    • postbacks التي تنشأ من عناصر التحكم التي غير متزامن مشغلات لأي UpdatePanelعنصر التحكم.

  • عند AssociatedUpdatePanelIDخاصية هو تعيين إلى UpdatePanelالتحكم في المعرف، UpdateProgressعنصر التحكم هو dهوplayed ل postbacks التي تنشأ من داخل المقترن UpdatePanelعنصر التحكم.

إذا AssociatedUpdatePanelIDخاصية هو معينة إلى عنصر تحكم غير exهوt، يقوم UpdateProgressالتحكم عدم إظهارها.

إذا ChildrenAsTriggersخاصية UpdatePanelعناصر هو تعيين إلى falseوتنشأ إعادة النشر من داخل UpdatePanelعنصر تحكم مقترن بأي UpdateProgressعناصر سيظل dهوplayed.

تحديد المحتوى تحديث التقدم عنصر تحكم

استخدام ProgressTemplateخاصية بتحديد الرسالة التي هو dهوplayed UpdateProgressعنصر التحكم. إذا ProgressTemplateخاصية هو فارغ، لا شيء هو تظهر عند UpdateProgressعنصر التحكم هو dهوplayed.

يمكن أن يحتوي القالب على HTML و ترميز. على سبيل المثال، يمكنك dهوplay نسخة متحركة بإعلام مستخدم الذي إعادة النشر هو المعالجة. يمكنك أيضا عرض butإلىn يمكن للمستخدم النقر فوقه إلى تحديث sإلىp الصفحة جزئيا. بالإضافة إلى ذلك، قد ترغب في منع الجميع postbacks أثناء واحد هو قيد التقدم. يظهر المثال التالي النص البرمجي للكمبيوتر العميل إمكانية استخدام إلى تنفيذ هذه المهام.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    protected void Button_Click(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(3000);
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>UpdateProgress Example</title>
    <style type="text/css">
    #UpdatePanel1, #UpdatePanel2, #UpdateProgress1 {
      border-right: gray 1px solid; border-top: gray 1px solid; 
      border-left: gray 1px solid; border-bottom: gray 1px solid;    
    }
    #UpdatePanel1, #UpdatePanel2 { 
      width:200px; height:200px; position: relative;
      float: left; margin-left: 10px; margin-top: 10px;
     }
     #UpdateProgress1 {
      width: 400px; background-color: #FFC080; 
      bottom: 0%; left: 0px; position: absolute;
     }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <script type="text/javascript">
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_initializeRequest(InitializeRequest);
    function InitializeRequest(sender, args) {
      if (prm.get_isInAsyncPostBack())
       {
          args.set_cancel(true);
       }
    }
    function AbortPostBack() {
      if (prm.get_isInAsyncPostBack()) {
           prm.abortPostBack();
      }        
    }
    </script>
    <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
    <%=DateTime.Now.ToString() %> <br />
    <asp:Button ID="Button1" runat="server" Text="Refresh Panel" OnClick="Button_Click" />    
    <br />
    Clicking the button while an asynchronous postback is in progress will
    cancel the new postback. New postbacks are only allowed if one is not
    already in progress.
    </ContentTemplate>
    </asp:UpdatePanel>
    <asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
    <%=DateTime.Now.ToString() %> <br />
    <asp:Button ID="Button2" runat="server" Text="Refresh Panel" OnClick="Button_Click"/>    
    </ContentTemplate>
    </asp:UpdatePanel>
    <asp:UpdateProgress ID="UpdateProgress1" runat="server">
    <ProgressTemplate>
      Update in progress...
      <input type="button" value="stop" onclick="AbortPostBack()" />
    </ProgressTemplate>
    </asp:UpdateProgress>
    </div>
    </form>
</body>
</html>


يمكنك استخدام التعليمة البرمجية للمثال بواسطة تعيين onClickسمة من HtmlButtonعنصر تحكم إلى "AbortPostBack()". لمزيد من المعلومات ، راجع أسلوب abortPostBack والخاصية isInAsyncPostBack للفئة PageRequestManager .

وضع عناصر تحكم UpdateProgress في الصفحة

UpdateProgress يمكن أن تكون عناصر التحكم داخل أو خارج البعضUpdatePanelعناصر التحكم. dهوplay من UpdateProgressقالب عنصر التحكم لا يعتمد تشغيل مكان UpdateProgressعنصر التحكم هو الموجود. في متداخلة UpdatePanelلوحة فرعة تحكم هو داخل لوحة الأصل. في هذه الحالة، يؤدي إعادة النشر التي تنشأ من داخل لوحة التابعة لكافة UpdateProgressعناصر التحكم المرتبطة باللوحة التابعة واللوحة الأصل إلى ليتم عرضها. في حالة إعادة النشر تنشأ من عنصر تحكم فرع فوري لوحة الأصلية، فقط UpdateProgressتعرض عناصر التحكم المرتبطة باللوحة الأصل.

تخصيص عند عرض عناصر التحكم تحديث التقدم

بشكل افتراضي، UpdateProgressعنصر تحكم انتظار.5 ثانية (500 ملى ثوان) قبل أن يعرض محتويات به. ويساعد ذلك على منع يومض إذا كان عنصر التحكم غير متزامن إعادة النشر سريع جداً. يمكنك تحديد التأخير بواسطة تعيين DisplayAfterخاصية.

إذا كنت بحاجة finer عنصر تحكم فوق عند UpdateProgressعنصر تحكم هو عرض، يمكن توفير برنامج العميل النصي والخاص beginRequest وأحداث endRequest من PageRequestManager الفئة. في beginRequestمعالج الأحداث، يمكنك عرض العنصر DOM التي تمثل UpdateProgressعنصر تحكم. في endRequestمعالج الأحداث، يمكنك إخفاء it.

يجب توفير برنامج العميل النصي إلى dهوplay UpdateProgressعنصر التحكم عند هدف UpdatePanelعنصر التحكم هو محدثها في الحالات التالية:

  • عندما يتم مسجَّل إعادة النشر من عنصر تحكم غير متزامن إعادة النشر المشغل لللوحة، وهناك عنصر UpdateProgressعنصر التحكم في الصفحة. ومع ذلك، AssociatedUpdatePanelIDلم يتم تعيين الخاصية إلى المعرف. الخاص باللوحة

  • عندما يتم تسجيلها postbacks من عناصر التحكم ك غير متزامن إعادة النشر لعناصر التحكم باستخدام RegisterAsyncPostBackControlطريقة ScriptManagerعنصر التحكم.

تطبيق أنماط CSS

UpdateProgress عنصر تحكم يقبل expando السمات. وهذا يجعل من الممكن إلى تعيين فئة CSS في HTML العناصر التي Render عناصر. ل مثال، قد تقوم بإنشاء ترميز في ما يلي مثال:

<asp:UpdateProgress runat="server" class="myStyle">
</asp: UpdateProgress> 

يعرض ترميز في المثال السابق HTML مشابهة إلى التالية عند تشغيل الصفحة:

<div id="ctl00_MainContent_UpdateProgress1" class="myStyle">
</div>

بناء جملة مصرحة

<asp:UpdateProgress
    AssociatedUpdatePanelID="string"
    DisplayAfter="integer"
    DynamicLayout="True|False"
    EnableTheming="True|False"
    EnableViewState="True|False"
    ID="string"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler"
    runat="server"
    SkinID="string"
    Visible="True|False"
>
        <ProgressTemplate>
            <!-- child controls -->
        </ProgressTemplate>
</asp:UpdateProgress>

تبين الأمثلة التالية طرق مختلفة باستخدام UpdateProgressعنصر تحكم لإظهار التقدم خلال postbacks غير متزامنة.

يلي مثال يظهر واحد UpdateProgressالتحكم التي تعرض حالة التقدم أو أكثر UpdatePanelعناصر التحكم.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    protected void Button_Click(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(3000);
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>UpdateProgress Example</title>
    <style type="text/css">
    #UpdatePanel1, #UpdatePanel2, #UpdateProgress1 { 
      border-right: gray 1px solid; border-top: gray 1px solid; 
      border-left: gray 1px solid; border-bottom: gray 1px solid;
    }
    #UpdatePanel1, #UpdatePanel2 { 
      width:200px; height:200px; position: relative;
      float: left; margin-left: 10px; margin-top: 10px;
     }
     #UpdateProgress1 {
      width: 400px; background-color: #FFC080; 
      bottom: 0%; left: 0px; position: absolute;
     }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
    <%=DateTime.Now.ToString() %> <br />
    <asp:Button ID="Button1" runat="server" Text="Refresh Panel" OnClick="Button_Click" />    
    </ContentTemplate>
    </asp:UpdatePanel>
    <asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
    <%=DateTime.Now.ToString() %> <br />
    <asp:Button ID="Button2" runat="server" Text="Refresh Panel" OnClick="Button_Click"/>    
    </ContentTemplate>
    </asp:UpdatePanel>
    <asp:UpdateProgress ID="UpdateProgress1" runat="server">
    <ProgressTemplate>
      Update in progress...
    </ProgressTemplate>
    </asp:UpdateProgress>
    </div>
    </form>
</body>
</html>


هذا يوضح المثال التالي الثاني UpdateProgressعناصر التحكم. كل عنصر تحكم عرض حالة التقدم لعنصر مقترن UpdatePanelعنصر التحكم.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    protected void Button_Click(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(3000);
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>UpdateProgress Example</title>
    <style type="text/css">
    #UpdatePanel1, #UpdatePanel2 { 
      width:200px; height:200px; position: relative;
      float: left; margin-left: 10px; margin-top: 10px;
      border-right: gray 1px solid; border-top: gray 1px solid; 
      border-left: gray 1px solid; border-bottom: gray 1px solid;
     }
     #UpdateProgress1, #UpdateProgress2 {
      width: 200px; background-color: #FFC080;
      position: absolute; bottom: 0px; left: 0px;
     }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
    <%=DateTime.Now.ToString() %> <br />
    <asp:Button ID="Button1" runat="server" Text="Refresh Panel" OnClick="Button_Click" />    
    <asp:UpdateProgress ID="UpdateProgress1" AssociatedUpdatePanelID="UpdatePanel1" runat="server">
    <ProgressTemplate>
      UpdatePanel1 updating...
    </ProgressTemplate>
    </asp:UpdateProgress>
    </ContentTemplate>
    </asp:UpdatePanel>
    <asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
    <%=DateTime.Now.ToString() %> <br />
    <asp:Button ID="Button2" runat="server" Text="Refresh Panel" OnClick="Button_Click"/>    
    <asp:UpdateProgress ID="UpdateProgress2" AssociatedUpdatePanelID="UpdatePanel2" runat="server">
    <ProgressTemplate>
      UpdatePanel2 updating...
    </ProgressTemplate>
    </asp:UpdateProgress>
    </ContentTemplate>
    </asp:UpdatePanel>
    </div>
    </form>
</body>
</html>


يتم تأمين العملية الجزئية لأي عضو عمومي ثابت (مشترك في Visual Basic) من هذا النوع. لن يتم ضمان تأمين العملية الجزئية لأي عضو مثيل.

نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008, نظام التشغيل Windows Server 2003

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5

إضافات المجتمع

إضافة
إظهار:
© 2014 Microsoft