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.

WebPartConnection.ProviderConnectionPointID الخاصية

Visual Studio 2010

الحصول أو تعيين قيمة خاصية على اتصال المعرف الكائن تخدم كمراجع موفر نقطة اتصال لهذا الاتصال.

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

public string ProviderConnectionPointID { get; set; }

قيمة الخاصية

النوع: System.String
عن سلسلة تحتوي على المعرف موفر كائن نقطة الاتصال.

لاتصال ثابتة التي تم تعريفها في العلامة لصفحة ويب، يمكن تحديد مطوري أي موفر نقطة اتصال لاستخدامه للاتصال بواسطة تعيين قيمة ProviderConnectionPointIDالسمة على <asp:webpartconnection>العنصر. If a القيمة ليس تعيين إلى the سمة, the DefaultID قيمة الخاصية هو used.

When you إنشاء ديناميكي (programmatic) الاتصالات, normally you should not التعيين the القيمة of the ProviderConnectionPointID خاصية. يمكنك ببساطة باستدعاء ConnectWebPartsالأسلوب على WebPartManagerعنصر التحكم، وذلك بتمرير بها موفر وموفر الكائنات نقطة اتصال (مع غير ذلك المعلمات المطلوبة)، والذي يحدد أسلوب المعرف الصحيح لاستخدامه لنقطة اتصال الموفر. Similarly, when you قطع الاتصال, you can يتصل the DisconnectWebParts أسلوب without needing إلى specify the ProviderConnectionPointID قيمة الخاصية.

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

المعرف الخاص بموفر نقطة اتصال يمكن تحديد متى قمت بتعيين WebPartأو عنصر تحكم الخادم الآخر الموفر. You must identify a callback أسلوب في the موفر that serves an مثيل of an واجهة containing بيانات إلى a مستهلك. إلى identify the أسلوب, mark it مع the ConnectionProvider تعليمات برمجية سمة. When you إضافة this سمة, you can إضافة an اختياري سلسلة القيمة معلمة that serves كـ an المعرف for the موفر's ProviderConnectionPoint كائن. If you supply a القيمة for the اختياري المعرف معلمة, that القيمة becomes the القيمة of the ProviderConnectionPointID خاصية for the اتصال. If you do not supply an المعرف القيمة, the WebPartManager عنصر تحكم assigns a الافتراضي المعرف when the كائن هو تاريخ الإنشاء.

The following تعليمات برمجية مثال shows the declarative و programmatic استخدم of the ProviderConnectionPointID خاصية.

المثال الأجزاء الأربعة:

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

  • مصدر تعليمات برمجية لواجهة و جهازي WebPartيتحكم بالحركة الموفر و مستهلك للاتصال.

  • صفحة ويب استضافة الجميع عناصر التحكم وتشغيلها تعليمات برمجية المثال.

  • شرح كيفية إلى تشغيل الصفحة المثال.

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


<%@ 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>


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


namespace Samples.AspNet.CS.Controls
{
  using System;
  using System.Web;
  using System.Web.Security;
  using System.Security.Permissions;
  using System.Web.UI;
  using System.Xml;
  using System.Web.UI.WebControls;
  using System.Web.UI.WebControls.WebParts;

  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  public interface IZipCode
  {
    string ZipCode { get; set;}
  }


  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  public class ZipCodeWebPart : WebPart, IZipCode
  {
    string zipCodeText = String.Empty;
    TextBox input;
    Button send;

    public ZipCodeWebPart()
    {

    }

    // Make the implemented property personalizable to save 
    // the Zip Code between browser sessions.
    [Personalizable()]
    public virtual string ZipCode
    {
      get { return zipCodeText; }
      set { zipCodeText = value; }
    }

    // This is the callback method that returns the provider.
    [ConnectionProvider("Zip Code Provider", "ZipCodeProvider")]
    public IZipCode ProvideIZipCode()
    {
      return this;
    }

    protected override void CreateChildControls()
    {
      Controls.Clear();
      input = new TextBox();
      this.Controls.Add(input);
      send = new Button();
      send.Text = "Enter 5-digit Zip Code";
      send.Click += new EventHandler(this.submit_Click);
      this.Controls.Add(send);
    }

    private void submit_Click(object sender, EventArgs e)
    {
      if (input.Text != String.Empty)
      {
        zipCodeText = Page.Server.HtmlEncode(input.Text);
        input.Text = String.Empty;
      }
    }

  }

  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  public class WeatherWebPart : WebPart
  {
    private IZipCode _provider;
    string _zipSearch;
    Label DisplayContent;

    // This method is identified by the ConnectionConsumer 
    // attribute, and is the mechanism for connecting with 
    // the provider. 
    [ConnectionConsumer("Zip Code Consumer", "ZipCodeConsumer")]
    public void GetIZipCode(IZipCode Provider)
    {
      _provider = Provider;
    }


    protected override void OnPreRender(EventArgs e)
    {
      EnsureChildControls();

      if (this._provider != null)
      {
        _zipSearch = _provider.ZipCode.Trim();
        DisplayContent.Text = "My Zip Code is:  " + _zipSearch;
      }
    }

    protected override void CreateChildControls()
    {
      Controls.Clear();
      DisplayContent = new Label();
      this.Controls.Add(DisplayContent);
    }

  }
}


الجزء الثالث تعليمات برمجية هو مثال لصفحة ويب. ملاحظة that a اتصال هو declared في the الصفحة ترميز, using the <StaticConnections> و <asp:WebPartsConnection> عناصر. The اتصال إعلان يتضمن the مطلوب ProviderConnectionPointID سمة. A ثانية أسلوب for creating the اتصال appears في the Button1_Click أسلوب, الموقع the تعليمات برمجية creates a جديد اتصال, using the اتصال يؤشر (و the المعرف) defined في the موفر عنصر تحكم. ثم، وفي Button2_Clickأسلوب، الوصول إلى تعليمات برمجية ProviderConnectionPointIDخاصية.


<%@ 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">
<script runat="server">


  protected void Button1_Click(object sender, EventArgs e)
  {

    ProviderConnectionPoint provPoint = 
      mgr.GetProviderConnectionPoints(zip1)["ZipCodeProvider"];
    ConsumerConnectionPoint connPoint =
      mgr.GetConsumerConnectionPoints(weather1)["ZipCodeConsumer"];
    WebPartConnection conn1 = mgr.ConnectWebParts(zip1, provPoint,
      weather1, connPoint);
  }

  protected void Button2_Click(object sender, EventArgs e)
  {

    ProviderConnectionPoint connpoint = 
      mgr.Connections[0].ProviderConnectionPoint;

    lbl2.Text = "<h3>Provider Connection Points Details</h3>" +
      "Display name: " + connpoint.DisplayName +
      "<br />" +
      "Connection Point ID: " + mgr.Connections[0].ProviderConnectionPointID;

  }


  protected void mgr_DisplayModeChanged(object sender, WebPartDisplayModeEventArgs e)
  {
    if (mgr.DisplayMode == WebPartManager.ConnectDisplayMode)
    {
      Button1.Visible = true;
      Button2.Visible = true;
    }
    else
    {
      Button1.Visible = false;
      Button2.Visible = false;
    }

  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr" runat="server" OnDisplayModeChanged="mgr_DisplayModeChanged">
        <StaticConnections>
          <asp:WebPartConnection ID="conn1"
            ConsumerConnectionPointID="ZipCodeConsumer"
            ConsumerID="weather1" 
            ProviderConnectionPointID="ZipCodeProvider" 
            ProviderID="zip1" />
        </StaticConnections>
      </asp:WebPartManager>
      <uc1:DisplayModeMenuCS ID="menu1" runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <aspSample:ZipCodeWebPart ID="zip1" runat="server"
            Title="Zip Code Provider"  />
          <aspSample:WeatherWebPart ID="weather1" runat="server" 
            Title="Zip Code Consumer" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:ConnectionsZone ID="ConnectionsZone1" runat="server">
      </asp:ConnectionsZone>
      <asp:Button ID="Button1" runat="server" 
        Text="Connect WebPart Controls" 
        OnClick="Button1_Click" 
        Visible="false" />
      <br />
      <asp:Button ID="Button2" runat="server" 
        Text="ConnectionPoint Details" 
        OnClick="Button2_Click" 
        Visible="false" /> 
      <br />   
      <asp:Label ID="lbl2" runat="server" />
    </div>
    </form>
</body>
</html>


بعد تحميل الصفحة في مستعرض، موجود بالفعل اتصال نتيجة الاتصال الثابتة التي تم تعريفها في الصفحة. قم بإدخال بعض نص في عنصر التحكم الموفر، ولاحظ أنه هو dهوplayed في المستهلك نتيجة للاتصال. بعد ذلك، قم بفصل عناصر التحكم. استخدام عنصر تحكم القائمة الوضع عرض المنسدلة، تحويل الصفحة إلى الوضع يعيّن. انقر فوق قائمة الأفعال (ممثلة بواسطة السهم إلى الأسفل في شريط عنوان) تشغيل واحد WebPartعناصر التحكم، و انقر فوق اتصال فعلية. انقر فوق قطع الاتصال زر. عناصر تحكم جزء ويب للاتصال استخدام زر لإعادة إنشاء اتصال بين عنصري التحكم. انقر فوق تفاصيل ConnectionPoint زر بتشغيل تعليمات برمجية يصل إلى ProviderConnectionPointIDالقيمة خاصية. القيمة هو مكتوبة بالخارج في التسمية أدناه عناصر التحكم.

نظام التشغيل 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
إظهار: