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.

CatalogZone الفئة

Visual Studio 2010

يخدم كعنصر تحكم أساسي في عنصر تحكم "أجزاء ويب" لتعيين لاستضافة CatalogPartعناصر التحكم على صفحة ويب.

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

public class CatalogZone : CatalogZoneBase
<asp:CatalogZone />

مجموعة عناصر تحكم "أجزاء ويب" ضمن منطقة ، هي منطقة على صفحة ويب تحتوي على عناصر تحكم ' "أجزاء ويب". تم إنشاء منطقة "أجزاء ويب" بواسطة عنصر تحكم المنطقة والتي من نوع CompositeControl تصميم يحتوي على عناصر التحكم الأخرى. تعتبر الدالات الأساسية لمنطقة ما لتخطيط عناصر التحكم التي تحتوي عليها ، و لتوفير واجهة مستخدم (UI) شائعة لعناصر التحكم هذه. للحصول على معلومات عامة حول المناطق وكيفية استخدامها في تطبيقات "أجزاء ويب" راجع الأساسية WebZone الفئة، ثم نظرة عامة حول تعيين عنصر تحكم أجزاء ويب.

ميزة أساسية من عناصر التحكم "أجزاء ويب" هو السماح للمستخدمين بتعديل الصفحات ويب (أو تخصيص) تبعاً لتفضيلاتهم، وقم بحفظ الإعدادات الشخصية الخاصة بهم للجلسات المستقبلية في مستعرض. وجه واحد من تعديل الصفحات "أجزاء ويب" يتضمن القدرة على إضافة WebPartعناصر التحكم أو ملقم آخر عناصر التحكم لصفحة "أجزاء ويب". CatalogZone يوفر عنصر تحكم قائمة أو كاتالوج من عناصر التحكم التي يمكن للمستخدمين إضافتها إلى الصفحة.

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

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

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

CatalogZone عنصر تحكم يصبح مرئياً فقط عندما مستخدم تبديل صفحة ويب إلى الوضع عرض كاتالوج ( CatalogDisplayMode). أ كاتالوج يمكن أن تحتوي على أنواع متعددة من CatalogPartعناصر التحكم. كل CatalogPartعنصر تحكم هو نوع من الحاوية التي تحتوي على المستخدمين عنصر تحكم s الملقم التي يمكن إضافتها إلى الصفحة. وتختلف عناصر التحكم CatalogPart استناداً إلى المصدر الذي تأتي منه عناصر تحكم الخادم التي تحتوي عليها. يلخص الجدول التالي CatalogPartعناصر التحكم المتوفرة في التعيين "أجزاء ويب" تحكم و، لكل عنصر تحكم، وما نوع الملقم يتحكم به يتضمن.

عنصر التحكم

الوصف

PageCatalogPart

يحافظ تشغيل مراجع إلى عناصر التحكم التي تم إغلاقها تشغيل صفحة. إعادة فتح عناصر التحكم (إضافة الخلف إلى الصفحة) بالمستخدمين.

DeclarativeCatalogPart

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

ImportCatalogPart

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

لأن CatalogZoneيضيف فئة قالب منطقة إلى سلوك فئة الأساس الخاصة به، فيكون له بعض الأعضاء. CatalogZone الدالة الإنشائية هو الدالة الإنشائية افتراضي; مع ذلك، يمكنك يهيّئ مثيل جديد من CatalogZoneفئة. ZoneTemplate الحصول على خاصية أو قم بتعيين مرجع إلى ITemplateالكائن الذي يحتوي على عناصر التحكم للمنطقة. CreateCatalogParts أسلوب هو الهامة. تتجاوز الأسلوب الأساسي إلى إنشاء مجموعة CatalogPartعناصر التحكم الموجودة " الجميع قالب المنطقة.

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

butإلىns في CatalogZoneتتطلب واجهة المستخدم النصية من جانب العميل في ترتيب إلى تعمل بشكل صحيح. إذا كان البرنامج النصي هو dهوabled في مستعرض، مستخدم لن تكون قادراً على تنفيذ الإجراءات من خلال CatalogZoneواجهة مستخدم.

‏إمكانية وصول ذوي الاحتياجات الخاصة

ترميز تقديمها بشكل افتراضي لهذا عنصر تحكم قد لا تتوافق مع مقاييس إمكانية التشغيل مثل إرشادات الأولوية 1 ويب المحتوى التشغيل إرشادات 1.0 (WCAG). للحصول على التفاصيل حول دعم الوصول لهذا عنصر تحكم، راجع عناصر تحكم ASP.NET و إمكانية التشغيل.

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

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

إذا قمت بالوراثة من CatalogZoneفئة، يمكنك يمنع CreateCatalogPartsالطريقة واستخدام أسلوب إضافة مخصص CatalogPartعنصر تحكم s إلى CatalogPartCollection، إذا أردت أكبر البرمجي عنصر تحكم عبر إضافة مخصصة CatalogPartعنصر تحكم s للمنطقة الخاصة بك.

يلي تعليمات برمجية يوضح المثال مصرحة والمبرمج استخدام CatalogZoneعنصر التحكم. تعليمات برمجية مثال على الرابع أجزاء:

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

  • ملف باستخدام تعليمات برمجية المصدر ل مخصص CatalogZoneعنصر تحكم، ومخصص WebPartعنصر تحكم التي يتم استيراده مع كاتالوج وإضافتها إلى صفحة ويب.

  • صفحة ويب الذي يقوم بتعريف عنصر تحكم مستخدم، و مخصص CatalogZoneعنصر التحكم.

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

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


<%@ 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و WebPartعناصر التحكم. التعليمة البرمجية ل CatalogZoneتحكم يوضح كيفية إلى يورث CatalogZoneالفئة و cusإلىmize قيم خصائصه بتعيين بعض الخصائص الافتراضية في construcإلىr. ويوضح تعليمات برمجية المصدر أيضا كيفية إنشاء على WebPartتسمية فئة مخصصة TextDisplayWebPart. This هو the عنصر تحكم associated مع the .WebPart وصف ملف that you will استيراد كـ part of this تعليمات برمجية مثال. بعد استيراد الملف وصف باستخدام ImportCatalogPartعنصر تحكم تشغيل صفحة ويب، ستتمكن من إضافة TextDisplayWebPartعنصر تحكم إلى الصفحة، تماما pre-configured كما هو محدد في ملف وصف.

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


using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

namespace Samples.AspNet.CS.Controls
{
  // Create a customized CatalogZone control by setting 
  // some properties in the constructor.
  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  public class MyCatalogZone : CatalogZone
  {
    public MyCatalogZone()
    {
      this.HeaderText = "My Company Catalog";
      this.HeaderCloseVerb.Text = "Close Catalog";
      this.CloseVerb.Text = "Close Catalog";
    }
  }


  // Create a custom WebPart control to add to a WebPartZone.
  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  public class TextDisplayWebPart : WebPart
  {
    private String _contentText = null;
    TextBox input;
    Label DisplayContent;
    Literal lineBreak;

    [Personalizable(), WebBrowsable]
    public String ContentText
    {
      get { return _contentText; }
      set { _contentText = value; }
    }

    protected override void CreateChildControls()
    {
      Controls.Clear();
      DisplayContent = new Label();
      DisplayContent.BackColor = Color.LightBlue;
      DisplayContent.Text = this.ContentText;
      this.Controls.Add(DisplayContent);

      lineBreak = new Literal();
      lineBreak.Text = @"<br />";
      Controls.Add(lineBreak);

      input = new TextBox();
      this.Controls.Add(input);
      Button update = new Button();
      update.Text = "Set Label Content";
      update.Click += new EventHandler(this.submit_Click);
      this.Controls.Add(update);

    }

    private void submit_Click(object sender, EventArgs e)
    {
      // Update the label string.
      if (input.Text != String.Empty)
      {
        _contentText = input.Text + @"<br />";
        input.Text = String.Empty;
        DisplayContent.Text = this.ContentText;
      }
    }
  }

}


الجزء الثالث تعليمات برمجية هو مثال صفحة ويب تحتوي على عناصر التحكم. يحتوي على Registerموجها لعنصر تحكم مستخدم، وآخر للمصدر ملف مع عناصر التحكم المخصصة. لاحظ أنه في توجيه الثاني، لا تسمى التجميع، beca استخدم المثال لا استخدم التجميع، وضع التحويل البرمجي ديناميكي استخدم s مع تعليمات برمجية المصدر في المجلد الفرعي App_Code. يقوم بتعريف صفحة ويب WebPartZoneعنصر تحكم، وداخل التابعة لها <zonetemplate>عنصر، التصريح BulletedListعنصر تحكم. بينما th هو هو التحكم ASP.NET قياسية، فسيكون الوظائف الكاملة من "أجزاء ويب" في وقت التشغيل، لأن WebPartManagerالتحكم wraps وضع أي عنصر تحكم الخادم في WebPartZoneمع GenericWebPartالكائنات، حيث يمكن لعناصر تحكم أخرى ملقم المساهمة في تطبيقات "أجزاء ويب". كما تم تعريفه في هذا منطقة هو WebPartعنصر تحكم تسمية مخصصة TextDisplayWebPart. لاحظ أن هذا عنصر تحكم له سمة من ExportMode="All"تعريف it. هذا يمكنك من تصدير ملف وصف.WebPart الذي يحتوي على قيم الخاصية لعنصر التحكم، التي يمكن أن يتم استيراده من قبل مستخدمين آخرين لإضافة عنصر تحكم معرفة مسبقاً إلى الصفحات ويب غير ذلك.

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

لتمكين مستخدمين تطبيق "أجزاء ويب" لتصدير ملف وصف ل WebPartعناصر التحكم، يجب أيضا تمكين ميزة التصدير في تطبيق ويب بواسطة إضافة enableExport="true"السمة إلى <webParts>عنصر (الذي هو تابع <system.web>عنصر) في ملف Web.config. يصدّر هو dهوabled بشكل افتراضي، لذا إذا كنت لم يتم ممكّن اليصدّر الخاص بالتطبيق، قم بتحرير ملف ويب.config والقيام بذلك الآن.

صفحة ويب أيضا بتعريف مخصص CatalogZoneعنصر تحكم والموجودة بداخله، <zonetemplate>العنصر الذي يحتوي على ImportCatalogPartعنصر تحكم. سيستخدم هذا مستخدم عنصر تحكم في وقت التشغيل لاستيراد ملف وصف.WebPart المخصصة WebPartعنصر تحكم.


<%@ Page Language="C#" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuCS" 
  Src="DisplayModeMenuCS.ascx" %>
<%@ Register TagPrefix="aspSample"
  Namespace="Samples.AspNet.CS.Controls" %> 

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

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
  <form id="form1" runat="server">
    <asp:WebPartManager ID="WebPartManager1" runat="server" />
    <uc1:DisplayModeMenuCS ID="DisplayModeMenu1" runat="server" />
    <asp:WebPartZone ID="WebPartZone1" runat="server">
      <ZoneTemplate>
        <asp:BulletedList 
          ID="BulletedList1" 
          Runat="server"
          DisplayMode="HyperLink" 
          Title="Favorite Links" >
          <asp:ListItem Value="http://msdn.microsoft.com">
            MSDN
          </asp:ListItem>
          <asp:ListItem Value="http://www.asp.net">
            ASP.NET
          </asp:ListItem>
          <asp:ListItem Value="http://www.msn.com">
            MSN
          </asp:ListItem>
        </asp:BulletedList>
        <aspsample:textdisplaywebpart id="wp1" runat="server" 
           Title="My Text Display WebPart" />
      </ZoneTemplate>
    </asp:WebPartZone>
    <aspSample:MyCatalogZone ID="CatalogZone1" runat="server">
      <ZoneTemplate>
        <asp:ImportCatalogPart id="ImportCatalogPart1" 
          runat="server" />
      </ZoneTemplate>
    </aspSample:MyCatalogZone>
  </form>
</body>
</html>


Now تشغيل the تعليمات برمجية مثال. التحميل صفحة ويب في مستعرض. الخطوة الأولى هو لتصدير ملف وصف.WebPart ل TextDisplayWebPartعنصر التحكم. انقر فوق قائمة الأفعال تشغيل عنصر تحكم مخصص (يمثله تشغيل السهم إلى الأسفل في شريط عنوان)، و انقر فوق التصدير. اتبع الإرشادات لحفظ ملف وصف عنصر تحكم. قم بفتح ملف وصف.WebPart في تحرير أو، و تحرير القيمة نص خاصية عنوان. بحث <property>عنصر يحتوي على السمة name="Title"، ثم قم بتحرير نص عنوان الذي هو الموجودة بين الفتح والإغلاق <property>علامات. الآن يغلق صفحة ويب، و تحرير مصدر الصفحة في محرر. يحذف <aspSample:TextDisplayWebPart>إعلان عنصر التحكم، ثم احفظ و يغلق الملف.

تحميل الويب الصفحة مرة أخرى في مستعرض. TextDisplayWebPartعنصر تحكم يجب إلا تظهر، لأنك قمت بإزالة it. استخدم عنصر تحكم القائمة منسدلة الوضع عرض وحدد كاتالوج لتبديل الصفحة ل كاتالوج الالوضع. لاحظ أنه مخصص CatalogZoneعنصر تحكم يظهر، along مع ImportCatalogPartعنصر تحكم. انقر فوق الزر استعراض لتحديد موقع.WebPart وصف الملف التي قمت بتصديرها ل TextDisplayWebPartعنصر تحكم. انقر فوق التحميل، تحديد خانة اختيار الموجودة بجانب المستورد عنصر تحكم، انقر فوق إضافة لإضافته إلى الصفحة. انقر فوق كتالوج إغلاق للرجوع الصفحة إلى الوضع الاستعراض العادي. المستورد عنصر تحكم يجب أن يظهر الآن في الصفحة، وعنوان الذي يظهر في شريط عنوان الخاص عنصر تحكم يجب أن يكون نص عنوان قمت بإضافته إلى ملف وصف.WebPart.

يتم تأمين العملية الجزئية لأي عضو عمومي ثابت (مشترك في 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
إظهار: