This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

CatalogPart الفئة

Visual Studio 2010

يعمل كفئة أساسية لعناصر التحكم الموجودة في CatalogZoneBaseمناطق، والتي توفر النشرات المصورة لعناصر التحكم المتوفرة لخادم ويب (خاصة WebPartعناصر التحكم) أنه يمكن للمستخدمين إضافة إلى صفحة ويب.

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

[BindableAttribute(false)]
public abstract class CatalogPart : Part
<asp:CatalogPart />

CatalogPart الفئة فئة أساسية لخاصة عناصر التحكم الموجودة في CatalogZoneBaseالمناطق. هذه مشتقة CatalogPartعناصر التحكم توفير النشرات مصورة الخادم ويب عناصر التحكم أنه يمكن إضافة المستخدمين إلى صفحة ويب. استخدام CatalogPartيتحكم في تطبيق ويب عند الحاجة إلى تزويد المستخدمين النهائيين بالمرونة لتغيير الأداء الوظيفي لصفحة ويب بواسطة إضافة أو إزالة عناصر تحكم الملقم.

أ كاتالوج بساطة قائمة واحدة أو أكثر من توفر الملقم العناصر ( بما في ذلك WebPartعناصر تحكم ملقم ASP.NET وعناصر التحكم المخصصة أو مستخدم) التي يمكن إضافة المستخدمين إلى صفحة ويب. أ كاتالوج عددا من صفات عامة، بما في ذلك نص إرشادات للمستخدمين النهائيين؛ ونص لوصف كل عنصر تحكم الملقم؛ نمط عناصر تحكم "المساعد" لتحديد عناصر تحكم الخادم وإضافتها إلى الصفحة؛ عنوان شائعة، تذييل الصفحة، والحدود؛ وعدد من الالسمات.

هناك ثلاثة أنواع من CatalogPartعناصر التحكم المتوفرة مع تعيين عنصر تحكم "أجزاء ويب"، كـ هو موضح في الجدول التالي. كل نوع من CatalogPartعنصر تحكم يحتوي على الملقم عنصر تحكم s التي يتم إضافتها إلى صفحة من مصدر مختلف.

ملاحظة هامةهام

عناصر التحكم التي يورث من CatalogPartالفئة ويمكن أن يتواجد فقط في مناطق مشتقة من CatalogZoneBaseفئة.

عنصر التحكم

الوصف

PageCatalogPart

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

DeclarativeCatalogPart

يحتوي على عناصر تحكم الملقم معرفة في DeclarativeCatalogPartالتحكم، التي هو نفسها الموجودة في CatalogZoneBaseمنطقة في العلامات من صفحة ويب.

ImportCatalogPart

يوفر واجهة المستخدم (واجه المستخدم) لمستخدم بتحميل ملف تعريف عنصر التحكم (ملف XML المعرفة من قبل مخطط، والذي يحتوي على معلومات الالولاية) كاتالوج، حيث يمكن تمت الإضافة عنصر التحكم إلى صفحة ويب. لا تظهر عناصر التحكم نفسها في ترتيب هو نوع كاتالوج؛ كاتالوج هو mechanهوm للوصول إلى ملفات التعريف عناصر خارجية بحيث يمكن إضافتها إلى صفحة فقط.

CatalogPart ترث الفئة من الأساس Partللفئات، حيث يكون لديها سلوك عام غير ذلك التحكم عناصر تحكم جزء في "أجزاء ويب" في التعيين. بالإضافة إلى ذلك، يقوم Access بإضافة بعض الأعضاء التي تعتبر مفيدة لوظيفة كاتالوج. DisplayTitle خاصية إحضار السلسلة الفعلية التي هو حاليا قيد dهوplayed كعنوان لعنصر التحكم. يمكن أن تكون قيمة هذه خاصية نفس القيمة Titleخاصية أو، إذا تم تعيين قيمة لا إلى تلك خاصية قيمة افتراضية تم توفيره من قبل إطار عمل.NET. WebPartManager و Zoneخصائص كل من توفير وصول مناسبة لكائنين الأساسية التي عنصر تحكم دورة حياة CatalogPartعنصر تحكم: WebPartManagerعنصر تحكم، و CatalogZoneBaseالمنطقة التي تحتوي على CatalogPartعنصر تحكم، على التوالي.

CatalogPart فئة يحتوي على عدة وظائف. GetAvailableWebPartDescriptions أسلوب هو المعلن كأسلوب مجرد التي يجب أن يتم تطبيقها من قبل inheritors. الغرض المخصص له هو لإرجاع مجموعة من وصف لعناصر التحكم الموجودة في الكتالوج. أسلوب ذات الصلة، GetWebPart، هو كما تم تعريفه ' مجردة ويجب أن يتم تطبيقها من قبل inheritors. Th هو أسلوب هو تهدف إلى إرجاع مثيل WebPartعنصر تحكم يستند إلى وصف التي هو التي تم تمريرها إلى الأسلوب كمعلمة.

ملاحظات للمسئولين عن الإرث

لأن CatalogPartالفئة هو مجردة، لا يمكنك استخدامها مباشرة تشغيل صفحة ويب. أجزاء ويب عنصر تحكم التعيين توفر ثلاثة CatalogPartعنصر تحكم s (المسرودة في الجدول الموجود في مقطع "ملاحظات" الخاص بهذا الموضوع) الذي ينحدر من الأساس الفئة والتي يمكن استخدامها تشغيل الصفحات "أجزاء ويب". هذه عناصر التحكم يجب أن توفر معظم الميزات المطلوبة لإنشاء النشرات مصورة الخادم ويب عناصر التحكم. ومع ذلك، الذي قد يكون التخصصية الاحتياجات قد يتطلب تطوير مخصص CatalogPartعنصر تحكم. على سبيل المثال، يمكنك إنشاء نوع خاص من CatalogPartعنصر تحكم الأمر الذي يجعل عنصر تحكم s الملقم متوفرة من خلال الخدمة ويب، أو مباشرة من قاعدة بيانات. إلى بذلك، يجب أن يورث CatalogPartفئة. يجب أيضا يمنع مجرد GetAvailableWebPartDescriptionsو GetWebPartوظائف توفير تطبيق يقوم بإرجاع WebPartأو ملقم آخر عناصر التحكم، والوصف الخاص بها. ستحتاج أيضا إلى وظائف لتحميل عناصر التحكم المتنوعة للخادم من قاعدة بيانات أو الخدمة ويب الخاصة بك.

يلي تعليمات برمجية يوضح المثال استخدام CatalogPartفئة. نظراً لأن الفئة هو مجردة، هو لا تستخدم مباشرة في تعليمات برمجية. ومع ذلك، يوضح المثال كيفية العمل مع ثلاثة المشتقة CatalogPartعنصر تحكم s المتوفرة مع "أجزاء ويب" عنصر تحكم تعيين لتوضيح سيناريوهات الاستخدام عام.

There are الرابع parts إلى the تعليمات برمجية مثال:

  • عنصر تحكم مستخدم يتيح لك إلى تغيير أوضاع عرض في صفحة ويب.

  • صفحة ويب يحتوي ثلاث CatalogPartعنصر تحكم s المتوفرة مع "أجزاء ويب" عنصر تحكم التعيين المعلن الجميع داخل CatalogZoneتشغيل صفحة ويب. تحتوي هذه الصفحة أيضا على WebPartZoneعنصر تحكم، مع AdRotatorعنصر تحكم التي تم تعريفها في المنطقة.

  • ملف XML الذي يحتوي تشغيل الاقتباسات في AdRotatorعنصر تحكم تشغيل صفحة ويب.

  • An explanation of how إلى تشغيل the مثال.

الجزء أول من هذا المثال تعليمات برمجية هو عنصر تحكم مستخدم الذي يمكن مستخدمين من إلى تغيير أوضاع عرض تشغيل صفحة ويب. يجب حفظ هذه تعليمات برمجية في ملف يسمى DisplayModeMenuCS.ascx أو DisplayModeMenuVB.ascx (اعتماداً تشغيل اللغة الذي تستخدمه). لعرض تفاصيل حول أوضاع ووصف المصدر تعليمات برمجية في عنصر التحكم هذا، راجع الإرشادات التفصيلية: تغيير أوضاع العرض على صفحة أجزاء ويب.


<%@ control language="C#" classname="DisplayModeMenuCS"%>
<script runat="server">

 // Use a field to reference the current WebPartManager.
  WebPartManager _manager;

  void Page_Init(object sender, EventArgs e)
  {
    Page.InitComplete += new EventHandler(InitComplete);
  }  

  void InitComplete(object sender, System.EventArgs e)
  {
    _manager = WebPartManager.GetCurrentWebPartManager(Page);

    String browseModeName = WebPartManager.BrowseDisplayMode.Name;

    // Fill the dropdown with the names of supported display modes.
    foreach (WebPartDisplayMode mode in _manager.SupportedDisplayModes)
    {
      String modeName = mode.Name;
      // Make sure a mode is enabled before adding it.
      if (mode.IsEnabled(_manager))
      {
        ListItem item = new ListItem(modeName, modeName);
        DisplayModeDropdown.Items.Add(item);
      }
    }

    // If shared scope is allowed for this user, display the scope-switching
    // UI and select the appropriate radio button for the current user scope.
    if (_manager.Personalization.CanEnterSharedScope)
    {
      Panel2.Visible = true;
      if (_manager.Personalization.Scope == PersonalizationScope.User)
        RadioButton1.Checked = true;
      else
        RadioButton2.Checked = true;
    }

  }

  // Change the page to the selected display mode.
  void DisplayModeDropdown_SelectedIndexChanged(object sender, EventArgs e)
  {
    String selectedMode = DisplayModeDropdown.SelectedValue;

    WebPartDisplayMode mode = _manager.SupportedDisplayModes[selectedMode];
    if (mode != null)
      _manager.DisplayMode = mode;
  }

  // Set the selected item equal to the current display mode.
  void Page_PreRender(object sender, EventArgs e)
  {
    ListItemCollection items = DisplayModeDropdown.Items;
    int selectedIndex = 
      items.IndexOf(items.FindByText(_manager.DisplayMode.Name));
    DisplayModeDropdown.SelectedIndex = selectedIndex;
  }

  // Reset all of a user's personalization data for the page.
  protected void LinkButton1_Click(object sender, EventArgs e)
  {
    _manager.Personalization.ResetPersonalizationState();
  }

  // If not in User personalization scope, toggle into it.
  protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
  {
    if (_manager.Personalization.Scope == PersonalizationScope.Shared)
      _manager.Personalization.ToggleScope();
  }

  // If not in Shared scope, and if user is allowed, toggle the scope.
  protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
  {
    if (_manager.Personalization.CanEnterSharedScope && 
        _manager.Personalization.Scope == PersonalizationScope.User)
      _manager.Personalization.ToggleScope();
  }
</script>
<div>
  <asp:Panel ID="Panel1" runat="server" 
    Borderwidth="1" 
    Width="230" 
    BackColor="lightgray"
    Font-Names="Verdana, Arial, Sans Serif" >
    <asp:Label ID="Label1" runat="server" 
      Text="&nbsp;Display Mode" 
      Font-Bold="true"
      Font-Size="8"
      Width="120" 
      AssociatedControlID="DisplayModeDropdown"/>
    <asp:DropDownList ID="DisplayModeDropdown" runat="server"  
      AutoPostBack="true" 
      Width="120"
      OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
    <asp:LinkButton ID="LinkButton1" runat="server"
      Text="Reset User State" 
      ToolTip="Reset the current user's personalization data for the page."
      Font-Size="8" 
      OnClick="LinkButton1_Click" />
    <asp:Panel ID="Panel2" runat="server" 
      GroupingText="Personalization Scope"
      Font-Bold="true"
      Font-Size="8" 
      Visible="false" >
      <asp:RadioButton ID="RadioButton1" runat="server" 
        Text="User" 
        AutoPostBack="true"
        GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
      <asp:RadioButton ID="RadioButton2" runat="server" 
        Text="Shared" 
        AutoPostBack="true"
        GroupName="Scope" 
        OnCheckedChanged="RadioButton2_CheckedChanged" />
    </asp:Panel>
  </asp:Panel>
</div>


الجزء الثاني من مثال التعليمة البرمجية صفحة ويب. تحتوي الصفحة على CatalogZoneعنصر تحكم، وداخل التابع <zonetemplate>عنصر، كل من الثلاثة CatalogPartعنصر تحكم s المتوفرة مع "أجزاء ويب" عنصر تحكم يتم تعريف التعيين. يتم تعيين سمة بعض DeclarativeCatalogPartعنصر التحكم، وأيضا في مقطع <برنامج نصي> الصفحة، السمات تشغيل عنصر التحكم يتم الوصول إلى برمجياً. عنصر التحكم يحتوي على عنصر تحكم فرع واحد يمكن إضافة مستخدم إلى الصفحة: قياسي على Calendarعنصر تحكم. CatalogZone و CatalogPartعنصر تحكم فقط ستكون مرئي عند تبديل مستخدم الصفحة إلى وضع عرض كاتالوج.

تحتوي هذه الصفحة أيضا على WebPartZoneعنصر التحكم، وداخل التابعة لها <zonetemplate>عنصر هو AdRotatorالتحكم dهوplays هذا التبادل الرسائل من على ملف XML. إذا كان المستخدم يغلق s بالنقر فوق عنصر التحكم الخاص به يغلق فعل عند عرض الصفحة، تتم تمت الإضافة عنصر التحكم في كتالوج صفحة، ويمكن للمستخدم إعادة فتح عنصر التحكم بتبديل الصفحة في الوضع العرض كاتالوج، الوصول في PageCatalogPart، وتمت الإضافة في عنصر تحكم يغلق d.


<%@ Page Language="C#" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuCS" 
  Src="DisplayModeMenuCS.ascx" %>

<!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 Button1_Click(object sender, EventArgs e)
  {

    Label1.Text = "<h3>DeclarativeCatalogPart Property Values</h3>" +
      "Display Title: " + DeclarativeCatalogPart1.DisplayTitle + 
      "<br />" + 
      "Description: " + DeclarativeCatalogPart1.Description + 
      "<br />" + 
      "Chrome type: " + DeclarativeCatalogPart1.ChromeType.ToString();
  }

  protected void WebPartManager1_DisplayModeChanged(object sender, 
    WebPartDisplayModeEventArgs e)
  {
    Label1.Text = String.Empty;
    if (WebPartManager1.DisplayMode == WebPartManager.CatalogDisplayMode)
      Button1.Visible = true;
    else
      Button1.Visible = false;
  }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>CatalogPart Samples</title>
</head>
<body>
  <form id="form1" runat="server">
    <asp:WebPartManager ID="WebPartManager1" runat="server" 
      OnDisplayModeChanged="WebPartManager1_DisplayModeChanged" />
    <uc1:DisplayModeMenuCS ID="DisplayModeMenu1" runat="server" />
    <asp:WebPartZone ID="WebPartZone1" runat="server">
      <ZoneTemplate>
        <asp:AdRotator ID="AdRotator1" runat="server" 
          AdvertisementFile="~/quotes.xml" 
          Title="Favorite Quotes"  />         
      </ZoneTemplate>
    </asp:WebPartZone>
    <asp:CatalogZone ID="CatalogZone1" runat="server">
      <ZoneTemplate>
        <asp:DeclarativeCatalogPart 
          ID="DeclarativeCatalogPart1" 
          runat="server"
          Title="Controls to Add"
          ChromeType="TitleOnly"
          Description="Provides a list of controls that users can
            add to the page.">
          <WebPartsTemplate>
            <asp:Calendar ID="Calendar1" runat="server" 
              Title="My Calendar" />         
          </WebPartsTemplate>
        </asp:DeclarativeCatalogPart>
        <asp:PageCatalogPart ID="PageCatalogPart1" runat="server" />
        <asp:importcatalogpart id="ImportCatalogPart1" runat="server" />
      </ZoneTemplate>
    </asp:CatalogZone>
    <hr />
    <asp:Button ID="Button1" runat="server" 
      Text="Display DeclarativeCatalogPart Properties" 
      OnClick="Button1_Click" 
      Visible="false"/>
    <br />
    <asp:Label ID="Label1" runat="server" Text="" />
  </form>
</body>
</html>


الجزء الثالث من تعليمات برمجية المثال هو ملف XML. Th هو ملف هو ملف مصدر ل AdRotatorالتحكم التي هو تعريف الصفحة. ملف يحتوي على اقتباس المفضلة، عنصر التحكم يدور دورياً وعرضها. قم بنسخ المحتوى التالي في محرر نص، ثم قم بحفظ الملف كـ Quotes.xml.

<?xml version="1.0" encoding="utf-8" ?>
<Advertisements>
  <Ad>
    <AlternateText>
      A stitch in time saves nine.
    </AlternateText>    
  </Ad>
  <Ad>
    <AlternateText>
      A penny saved is a penny earned.
    </AlternateText>    
  </Ad>
</Advertisements>

لتشغيل تعليمات برمجية المثال، تحميل صفحة ويب في مستعرض. استخدم عنصر تحكم أوضاع عرض المنسدلة لتحديد كتالوج و تحويل الصفحة إلى الوضع عرض كاتالوج. تلاحظ تأثيرات قيم الخصائص المختلفة التي تم تعيينها تشغيل DeclarativeCatalogPartعنصر تحكم الذي يحتوي تشغيل Calendarعنصر تحكم. يمكنك تحديد خانة اختيار الموجودة بجانب Calendarعنصر تحكم، انقر فوق إضافة لإضافته إلى الصفحة. إذا قمت بالنقر فوق عرض خصائص جزء الكاتالوج الإلزامى زر، يتم عرض قيم الخصائص لعنصر التحكم هذا. يمكنك النقر فوق يغلق لإرجاع الصفحة إلى الوضع الاستعراض العادي ومشاهدة عنصر التحكم المضافة في الصفحة. الآن انتقل إلى قائمة الأفعال على AdRotatorعنصر تحكم (ممثلة بواسطة السهم إلى الأسفل في شريط عنوان) انقر فوق إغلاق. عنصر التحكم هو مغلق وإضافتها إلى الكتالوج الصفحة. تحويل الصفحة في الوضع عرض كاتالوج مرة أخرى، وانقر فوق رابط لصفحة كتالوج لعرض PageCatalogPartعنصر تحكم. لاحظ أن AdRotatorعنصر التحكم هو إليها عنوانه، هناك Quotes المفضلة. تحديد Quotes المفضلة عنصر تحكم، انقر فوق الزر إضافة لإضافة عنصر تحكم العودة إلى الصفحة. انقر فوق زر إغلاق لإعادة الصفحة إلى وضع الاستعراض.

ملاحظةملاحظة

ImportCatalogPart عنصر تحكم تم التصريح أيضا تشغيل هذه الصفحة، ولكن نموذج يوضح كيفية استيراد عنصر تحكم s أكثر معنية، لذلك الكامل استخدام عنصر تحكم لم يتم هو موضح في المثال تعليمات برمجية. إلى مشاهدة كامل العمل على سبيل المثال، مشاهدة مستندات نظرة عامة حول فئة ImportCatalogPartفئة أو CatalogZoneclass.

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

نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

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

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0
إظهار: