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.

GenericWebPart الفئة

Visual Studio 2010

التفاف عناصر تحكم الملقم غير WebPartيتحكم بحيث يمكن أن تظهر وتعمل كـ حقيقية WebPartعناصر التحكم في وقت التشغيل.

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

public class GenericWebPart : WebPart
<asp:GenericWebPart />

GenericWebPart موجود في عنصر تحكم إلى توفر مجمع وقت التشغيل لعناصر تحكم الملقم غير WebPartيتحكم، بحيث يمكن استخدام عناصر التحكم هذه في الصفحات "أجزاء ويب" والتطبيقات. عند المطورين إضافة عناصر تحكم الملقم-مثل عناصر تحكم مستخدم أو عناصر تحكم خادم ASP.NET موجود عناصر التحكم المخصصة-إلى WebPartZoneBaseعنصر التحكم، GenericWebPartعنصر التحكم تلقائياً بالتفاف عناصر التحكم الملقم في وقت التشغيل حتى يمكن أن يواجه نفس وظيفة صواب WebPartعناصر التحكم.

يقارن الجدول التالي ويختلف GenericWebPartعناصر التحكم و WebPartعناصر التحكم.

GenericWebPart عنصر تحكم

WebPart عنصر تحكم

موجود بتزويد الملقم عناصر التحكم غير WebPartعناصر التحكم مع ويب أجزاء وظيفة، لذلك أي ASP.NET، مخصص، أو عنصر تحكم مستخدم يمكنه المشاركة في تطبيقات "أجزاء ويب".

موجود لإنشاء ASP.NET المخصصة عناصر التحكم التي تحتوي على وظائف "أجزاء ويب" الأصلية مضمنة. يتضمن هذا التخصيص، الاتصالات، واستيراد و تصدير، و يسحب-و-drop إمكانيات.

هو ابدأ التي تم تعريفها في علامات الصفحة. كان موجوداً فقط إجراء التفاف للخادم عناصر التحكم في وقت التشغيل، ولإعطاء تحكم الملتفة (أو عنصر تحكم فرع) الوظائف الكاملة WebPartعنصر التحكم.

يمكن تعريف في صفحة ترميز وقت التصميم، مثل عنصر تحكم ملقم ASP.NET، باستثناء أنه هو التي تم تعريفها في WebPartZoneBaseالمنطقة.

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

هو مضمنة تلقائياً في عملية تخصيص "أجزاء ويب".

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

يمكن الوصول إلى برمجياً في وقت التشغيل، مثل عنصر تحكم ASP.NET قياسية.

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

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

عندما تقوم بإنشاء الصفحات "أجزاء ويب"، لم يكن إلى القيام بأي شيء إلى تمكين عنصر تحكم مستخدم موجود أو عنصر التحكم cusإلىm إلى تكون الملتفة مع GenericWebPartعنصر التحكم. أضف ببساطة الخاص بك الخادم أو عنصر تحكم مستخدم إلى WebPartZoneBaseمنطقة، أما برمجياً أو مع المعرف في العلامة للصفحة، "أجزاء ويب" عنصر التحكم تلقائياً التفاف عنصر التحكم الخاص بك باستخدام GenericWebPartكائن في وقت التشغيل.

بسبب تحكم الملقم الذي تم وضعه في WebPartZoneBaseيتم التفاف المناطق GenericWebPartالتحكم في وقت التشغيل، يمكن للمطورين استخدام عناصر تحكم الملقم ومستخدم بشكل عادي تماما كـ لو كانوا WebPartعناصر التحكم. لاحظ أنه، إذا قمت بتعريف مخصص عناصر التحكم التي يورث الأساسية Controlلفئة داخل WebPartZone، لا تدعم عناصر التحكم هذه باستخدام مضمنة WebPartخصائص. ولذلك، يتعذر تعريف IWebPartالخصائص في عناصر تحكم مثل، بما في ذلك الخصائص مثل كـ Titleخاصية و Descriptionخاصية. وفي المقابل، تتحكم أنواع غير ذلك من الملقم (مثل WebPartعناصر التحكم وعناصر تحكم مستخدم، وعناصر التحكم المخصصة التي يورث من WebControl) يمكن أن تقوم بتعريف هذه الخصائص، لأن هذه دعم استخدام خصائص expando.

Expando خصائص are actually سلاسل that can be تمت الإضافة إلى a فئة dynamically كـ a خاصية, بواسطة means of the IAttributeAccessor واجهة. عناصر التحكم that implement this واجهة, including the WebControl فئة و its children, can استخدم expando خصائص. لأن الأساسية Controlالفئة لا يعتمد خصائص expando، عندما عنصر تحكم مخصص التي ترث من Controlفئة يوضع في WebPartZoneالملتفة GenericWebPartعنصر التحكم أثناء وقت التشغيل، مجموعة تحكم "أجزاء ويب" لا حيويا إضافة مضمنة IWebPartالخصائص عنصر تحكم مخصص. You have الثاني choices في this حالة. You can استخدم the مخصص عنصر تحكم without the IWebPart خصائص, أو you can implement the IWebPart واجهة في the مخصص عنصر تحكم, enabling it إلى استخدم the خصائص.

كمثال عن كيفية عنصر تحكم s التي يورث من WebControlيمكن استخدامها IWebPartخصائص، وفي حالة التصريح ASP.NET Calendarعنصر تحكم في صفحة ترميز (داخل WebPartZoneBaseالمنطقة) في تصميم الوقت، حتى من خلال هذا عنصر تحكم لا يورث من WebPartلفئة وليس الأصل يحتوي WebPartالأعضاء، يمكن أن يستمر معاملة تماما مثل WebPartعنصر تحكم. إمكانية تعريف WebPartالخصائص في عنصر تحكم تقويم، مثل كـ Title، Description، وآخرون. At وقت التشغيل, you can استخدم the GetGenericWebPart أسلوب, which إرجاع the GenericWebPart عنصر تحكم that هو dynamically التفاف the تقويم عنصر تحكم, و work مع it programmatically exactly كـ you would مع a WebPart عنصر تحكم, مع الوصول إلى الجميع the same خصائص, events, و وظائف.

GenericWebPart عنصر التحكم يحتوي على خاصية هامة التي تتيح لك إمكانية الوصول إلى المصدر الخاص به عنصر تحكم الخادم: الخاصية ChildControl. هذه خاصية تسمح للمطورين بشكل مبرمج بالوصول إلى ملقم عنصر تحكم. ChildControl خاصية هو أيضا المستخدمة من قبل WebPartManagerالتحكم بالوصول إلى بيانات التخصيص من عنصر التحكم التابع، ولإجراء التخويل، إذا AuthorizationFilterخاصية هو التعيين.

GenericWebPart عنصر تحكم عدة خصائص غير ذلك، كل منها يمنع الخصائص الموروثة من الأساس WebPartفئة. كـ هو موضح، يمكنك استخدام هذه الخصائص مع أي عنصر تحكم تابع، حيث أنها يمكن أن تتصرف كـ WebPartعنصر التحكم. هو واحد من الخصائص الهامة ExportModeخاصية؛ بتحديد ما إذا كان وضع الجميع الخصائص للتصدير، أو فقط لأولئك كـ غير الهامة، التي يمكن تصديرها. توريث الخصائص مبنية على واجهة المستخدم من WebPartللفئات، مثل CatalogIconImageUrl، Description، Height، Title، TitleUrl، و Width، يمكن تعيين في العلامة مصرحة لأي ملقم التحكم التي هو في WebPartZoneBaseالمنطقة.

الوظائف الهامة في GenericWebPartتضمين الفئة CreateControlCollectionالأسلوب الذي يقوم بإنشاء مجموعة عنصر تحكم s (بما في ذلك التابعة عنصر تحكم s) المقترنة GenericWebPartعنصر تحكم، و Renderالأسلوب، الذي المفوضون تقديم الجميع للطفل الملتفة عنصر تحكم s. المنشئات تشغيل GenericWebPartمحمية فئة و مصممة للاستخدام الداخلي أو للقابلية للتوسعة سيناريوهات.

هناك بعض رؤى مفيدة إضافى للعمل مع GenericWebPartعناصر التحكم. إذا كنت تريد إلى تعيين قيم الافتراضية للخصائص تم في GenericWebPartتطبيق فئة أو عنصر تحكم مستخدم أو عنصر تحكم الالخادم cusإلىm IWebPartIWebActionableواجهات، وتجاوز الأعضاء بها. At وقت التشغيل, the GenericWebPart عنصر تحكم will get its قيم for the implemented خصائص من the فرع عنصر تحكم that implements the الواجهات. If your عنصر تحكم defines أي of its خصائص كـ personalizable (بواسطة using the Personalizable بيانات التعريف attribute), the GenericWebPart عنصر تحكم automatically enables those خصائص for personalization at وقت التشغيل, just like the personalizable خصائص on a WebPart عنصر تحكم.

إذا كنت ترغب في توفير "أجزاء ويب" ميزات التحرير الخاصة بك عنصر تحكم، يمكن تطبيق IWebEditableالواجهة. في وقت التشغيل، عندما CreateEditorPartsأسلوب هو تسمى، GenericWebPartرمز عنصر التحكم الخاص WebBrowsableObject خاصية سيتم الاتصال إلى نفس خاصية في عنصر التحكم التابعة، واستخدام تطبيق عنصر التحكم التابعة لإنشاء المخصصة المقترنة EditorPartعناصر التحكم.

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

هناك عدد قليل من المناسبات الموقع أنه هو الضرورية للوراثة من GenericWebPartفئة. ستكون واحدة من هذه الحالة إذا أراد مطور لتنفيذ بعض الإجراءات المخصصة في الدالة الإنشائية عند GenericWebPartعنصر تحكم هو إنشاؤها. على سبيل المثال، قد تحتاج إلى تخزين التابع عنصر تحكم في مكان آخر غير عنصر تحكم مجموعة داخل GenericWebPartفئة. إذا قمت بالوراثة من GenericWebPartالفئة، كما تحتاج إلى يورث WebPartManagerالفئة وتجاوز به CreateWebPartالأسلوب لتمكينه من إنشاء المخصص الخاص بك عنصر تحكم.

يوضح مثال التعليمة البرمجية التالية كيف GenericWebPartيلتف عنصر التحكم تلقائياً بخادم التحكم التي هو لا WebPartالتحكم في وقت التشغيل.

يحتوي الجزء أول من المثال تعليمات برمجية على "أجزاء ويب" الصفحة مع جهازي WebPartZoneعناصر التحكم. داخل كل منطقة هو عنصر تحكم خادم ASP.NET قياسية. وجود في عنصر تحكم s WebPartZoneمنطقة، سوف يتم تلقائياً الملتفة GenericWebPartعنصر تحكم متى يتم التحويل البرمجي للصفحة. ولذلك، يمكن تعريف WebPartخصائص الفئة تشغيل عناصر التحكم هذه. بعد تحميل الصفحة في مستعرض، إذا قمت بالنقر فوق الزر قيم لخصائص عرض الكل، يتم عرض التفاصيل لكل عنصر تحكم في التسمية. لإظهار كيفية GenericWebPartالتحكم، Calendarعنصر التحكم في المنطقة أول يحتوي على بعض GenericWebPartالتعيين الخصائص في علامات مصرحة صفحة.aspx، بينما BulletedListلا تحكم بعدم. بعد تحميل الصفحة، لاحظ الاختلافات في قيم الخصائص لجهازي عنصر تحكم s، والذي يتضمن كل من "أصل" GenericWebPartعنصر تحكم.


<%@ Page Language="C#" 
  Codefile="genericwebpart.cs" 
  Inherits="genericwebpart_sample" %>
<!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>GenericWebPart Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:WebPartManager ID="WebPartManager1" runat="server">
      </asp:WebPartManager>
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:Calendar ID="Calendar1" runat="server"
            Title="My Calendar"
            Description="A calendar used as a GenericWebPart control."
            CatalogIconImageUrl="MyCatalogIcon.gif"
            TitleIconimageUrl ="MyTitleIcon.gif"
            TitleUrl="MyInfoUrl.htm" 
            Width="250"/>
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:WebPartZone ID="WebPartZone2" runat="server">
        <ZoneTemplate>
          <asp:BulletedList ID="BulletedList1" 
            Runat="server"
            DisplayMode="HyperLink">
            <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>        
        </ZoneTemplate>
      </asp:WebPartZone>
      <hr />
      <asp:Button ID="Button1" width="200"
        runat="server" 
        Text="Display All Property Values" OnClick="Button1_Click" /> 
      <br />
      <asp:Label ID="Label2" runat="server" Text="" />
      <br />   
      <asp:Label ID="Label3" runat="server" Text="" />
    </form>
</body>
</html>


الجزء الثاني من تعليمات برمجية يظهر المثال فئة جزئي يقوم بالوصول إلى بعض خصائص GenericWebPartالتحكم برمجياً. لاحظ أنه في Page_Loadالأسلوب، GetGenericWebPartأسلوب هو المستخدمة لاسترداد مثيل وقت التشغيل GenericWebPartالتحكم التي يلتف عنصر تحكم الخادم. هذه الطريقة للحصول على مرجع إلى الأصل GenericWebPartعنصر التحكم من التعامل برمجياً باستخدام عنصر تحكم الملقم أو مستخدم عادي كـ لو WebPartالتحكم في وقت التشغيل.


using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class genericwebpart_sample : System.Web.UI.Page
{
  GenericWebPart calendarPart;
  GenericWebPart listPart;

  protected void Page_Load(Object sender, EventArgs e)
  {
    calendarPart = WebPartManager1.GetGenericWebPart(Calendar1);
    listPart = WebPartManager1.GetGenericWebPart(BulletedList1);

    if (!IsPostBack)
    {
      Label2.Text = String.Empty;
      Label3.Text = String.Empty;
    }
  }

  protected void Button1_Click(object sender, EventArgs e)
  {

    Label2.Text =
      @"<h3>Calendar GenericWebPart Properties</h3>" +
      "<em>Title: </em>" + calendarPart.Title +
      "<br />" +
      "<em>CatalogIconImageUrl:  </em>" + calendarPart.CatalogIconImageUrl +
      "<br />" +
      "<em>TitleUrl: </em>" + calendarPart.TitleUrl +
      "<br />" +
      "<em>Decription: </em>" + calendarPart.Description +
      "<br />" +
      "<em>TitleIconImageUrl: </em>" + calendarPart.TitleIconImageUrl +
      "<br />" +
      "<em>ChildControl ID: </em>" + calendarPart.ChildControl.ID +
      "<br />" +
      "<em>ChildControl Type: </em>" + calendarPart.ChildControl.GetType().Name +
      "<br />" +
      "<em>GenericWebPart ID: </em>" + calendarPart.ID +
      "<br />" +
      "<em>GenericWebPart Type: </em>" + calendarPart.GetType().Name +
      "<br />" +
      "<em>GenericWebPart Parent ID: </em>" + calendarPart.Parent.ID;

    Label3.Text =
      @"<h3>BulletedList GenericWebPart Properties</h3>" +
      "<em>Title: </em>" + listPart.Title +
      "<br />" +
      "<em>CatalogIconImageUrl:  </em>" + listPart.CatalogIconImageUrl +
      "<br />" +
      "<em>TitleUrl: </em>" + listPart.TitleUrl +
      "<br />" +
      "<em>Decription: </em>" + listPart.Description +
      "<br />" +
      "<em>TitleIconImageUrl: </em>" + listPart.TitleIconImageUrl +
      "<br />" +
      "<em>ChildControl ID: </em>" + listPart.ChildControl.ID +
      "<br />" +
      "<em>ChildControl Type: </em>" + listPart.ChildControl.GetType().Name +
      "<br />" +
      "<em>GenericWebPart ID: </em>" + listPart.ID +
      "<br />" +
      "<em>GenericWebPart Type: </em>" + listPart.GetType().Name +
      "<br />" +
      "<em>GenericWebPart Parent ID: </em>" + listPart.Parent.ID;
  }

}


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