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.Provider الخاصية

Visual Studio 2010

يحصل WebPartعنصر تحكم الذي يعمل الموفر في اتصال "أجزاء ويب".

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

[BrowsableAttribute(false)]
public WebPart Provider { get; }

قيمة الخاصية

النوع: System.Web.UI.WebControls.WebParts.WebPart
WebPart الذي يعمل كـ موفر بيانات.

استثناء:شرط
InvalidOperationException

الطول ProviderIDالقيمة خاصية هو الصفر.

كل اتصال "أجزاء ويب" يتكون من عمودين WebPartعنصر تحكم s – بعميل ومورد – و Providerخاصية بإرجاع مرجع إلى الموفر عنصر تحكم في الاتصال.

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

The following تعليمات برمجية مثال demonstrates استخدم of the Provider خاصية.

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

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

  • A ويب الصفحة إلى مضيف the عناصر التحكم و تشغيل the تعليمات برمجية مثال.

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

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.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);
    }

  }
}


الجزء الثاني من مثال التعليمة البرمجية صفحة ويب. قريب the الأعلى هو a Register directive that refers إلى the المصدر تعليمات برمجية for the الثاني dynamically compiled WebPart عناصر التحكم. The ثابت اتصال هو declared within the <StaticConnections> عنصر تشغيل the الصفحة. لاحظ أنه في <asp:webpartconnection>عنصر، ProviderIDله سمة معرف الموفر عنصر تحكم المعينة إلى it. هذا مطلوب إلى التعرف على موفر اتصال ثابتة. Button1_Clickأسلوب الوصول Providerخاصية و يكتب بعض التفاصيل الخاصة به إلى بطاقة العنونة.


<%@ Page Language="C#" %>
<%@ 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)
  {
    WebPartConnection conn = mgr.StaticConnections[0];

    lbl1.Text = "<h3>Provider Details</h3><br />" +
      "ID: " + conn.Provider.ID + 
      "<br />" + 
      "Display Title: " + conn.Provider.Title + 
      "<br />" + 
      "Control type: " + conn.Provider.GetType().FullName;
  }

</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">
        <StaticConnections>
          <asp:WebPartConnection ID="conn1"
            ConsumerConnectionPointID="ZipCodeConsumer"
            ConsumerID="weather1" 
            ProviderConnectionPointID="ZipCodeProvider" 
            ProviderID="zip1" />
        </StaticConnections>      
      </asp:WebPartManager>
      <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="Provider Details" 
        OnClick="Button1_Click" />
      <br />
      <asp:Label ID="lbl1" runat="server" />
    </div>
    </form>
</body>
</html>


قم بتحميل الصفحة في المستعرض. The ثابت اتصال هو already تاريخ الإنشاء. Enter الزر some نص في the موفر عنصر تحكم, و ملاحظة that the نص هو displayed في the مستهلك عنصر تحكم. انقر فوق butإلىn تفاصيل موفر إلى عرض بعض قيم الخصائص بالوصول إليها من خلال Providerخاصية.

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