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.

IWebActionable الواجهة

Visual Studio 2010

تمكن WebPartعناصر تحكم أو عناصر تحكم غير ذلك ملقم إلى تحتوي على مجموعات من الأفعال.

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

public interface IWebActionable

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

يمكنك أيضا إنشاء الأفعال مخصصة للاستخدام مع WebPartو الخادم عناصر التحكم. IWebActionable الواجهة، مع به Verbsخاصية، يوفر لك طريقة في دمج الأفعال cusفيm في في عناصر التحكم الخاصة بك. WebPart implements لفئة IWebActionableواجهة و ينفذ به خاصية واحدة. لإضافة أفعال مخصص إلى عنصر تحكم التي ترث من WebPartفئة، يجب يمنع WebPart.Verbsخاصية، إضافة أفعال مخصصة إلى مجموعة، و بإرجاع مجموعة. المجموعة المشار إليه بواسطة WebPart.Verbsخاصية يحتوي على الأفعال المخصصة; قياسي الأفعال غير مضمنة في هذه المجموعة. الإعداد الافتراضي بإرجاع القيمة من WebPart.Verbsخاصية في WebPartعنصر تحكم هو null، لأن هناك افتراضياً لا توجد أفعال المخصصة في مجموعة.

إضافة مخصص الأفعال إلى عناصر تحكم الملقم غير WebPartتتطلب عناصر التحكم واحد خطوة إضافية. وفي تلك الحالات، يجب أيضا تطبيق عناصر التحكم IWebActionableالواجهة و تطبيق Verbsخاصية.

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

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

ملاحظة الأمانملاحظة الأمان

يحتوي هذا المثال على مربع نص يقبل إدخال المستخدم و الذي يعد تهديد أمان محتمل. بشكل افتراضي، تتحقق صفحات ويب ASP.NET من أن مُدخلات المستخدم لا تتضمن برنامج نصي أو عناصر HTML. لمزيد من المعلومات، راجع نظرة عامة حول عمليات استغلال البرنامج النصي.


<%@ control language="C#" classname="AccountUserControl" %>
<%@ implements 
    interface="System.Web.UI.WebControls.WebParts.IWebActionable" %>
<%@ Import Namespace="System.ComponentModel" %>

<script runat="server">

  private WebPartVerbCollection m_Verbs;

  [Personalizable]
  public string UserName
  {
    get
    {
      if (String.IsNullOrEmpty(Textbox1.Text) || 
        Textbox1.Text.Length < 0)
        return String.Empty;
      else
        return Textbox1.Text;
    }

    set
    {
      Textbox1.Text = value;
    }
  }

  [Personalizable]
  public string Phone
  {
    get
    {
      if(String.IsNullOrEmpty(Textbox2.Text) || 
        Textbox2.Text.Length < 0)
        return String.Empty;
      else
        return Textbox2.Text;
    }

    set
    {
      Textbox2.Text = value;
    }
  }

  // The following code handles the verbs.
  [Personalizable]
  public int VerbCounterClicks
  {
    get
    {
      object objVerbCounter = ViewState["VerbCounterClicks"];
      int VerbCounterClicks = 0;
      if (objVerbCounter != null)
        VerbCounterClicks = (int)objVerbCounter;

      return VerbCounterClicks;
    }
    set
    {
      ViewState["VerbCounterClicks"] = value;
    }
  }

  private void IncrementVerbCounterClicks(object sender, 
    WebPartEventArgs e)
  {
    VerbCounterClicks += 1;
    Label4.Text = "Custom Verbs Click Count: " + 
      this.VerbCounterClicks.ToString();
  }

  void Page_Load(object sender, EventArgs e)
  {
    Label3.Text = "Custom Verb Count:  " +
      WebPartManager.GetCurrentWebPartManager(Page).
      WebParts[0].Verbs.Count.ToString();
  }


  // This property implements the IWebActionable interface.
  WebPartVerbCollection IWebActionable.Verbs
  {
    get
    {
      if (m_Verbs == null)
      {
        ArrayList verbsList = new ArrayList();
        WebPartVerb onlyVerb = new WebPartVerb
          ("customVerb1", new WebPartEventHandler(IncrementVerbCounterClicks));
        onlyVerb.Text = "My Verb";
        onlyVerb.Description = "VerbTooltip";
        onlyVerb.Visible = true;
        onlyVerb.Enabled = true;
        verbsList.Add(onlyVerb);
        WebPartVerb otherVerb = new WebPartVerb
          ("customVerb2", new WebPartEventHandler(IncrementVerbCounterClicks));
        otherVerb.Text = "My other Verb";
        otherVerb.Description = "Other VerbTooltip";
        otherVerb.Visible = true;
        otherVerb.Enabled = true;
        verbsList.Add(otherVerb);
        m_Verbs = new WebPartVerbCollection(verbsList);
        return m_Verbs;
      }
      return m_Verbs;
    }
  }

</script>
<div>
<asp:label id="Label1" runat="server" AssociatedControlID="Textbox1">
  Name</asp:label>
<asp:textbox id="Textbox1" runat="server" />
</div>
<div>
<asp:label id="Label2" runat="server" AssociatedControlID="Textbox2">
  Phone</asp:label>
<asp:textbox id="Textbox2" runat="server"></asp:textbox>
</div>
<div>
<asp:button id="Button2" runat="server" text="Save Form Values" />
</div>
<hr />
<br />
<asp:Label ID="Label3" runat="server" Text="" />
<br />
<asp:Label ID="Label4" runat="server" Text="" />


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


<%@ page language="c#" %>
<%@ register tagprefix="uc1" 
    tagname="AccountUserControl" 
    src="usercontrolverbcs.ascx"%>
<!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>
      Personalizable User Control with IWebPart Properties
    </title>
  </head>
  <body>
    <form id="form1" runat="server">
      <asp:webpartmanager id="WebPartManager1" runat="server" />
      <asp:webpartzone 
        id="zone1" 
        runat="server" 
        headertext="Main" 
        CloseVerb-Enabled="false">
        <zonetemplate>
          <uc1:AccountUserControl 
            runat="server" 
            id="accountwebpart" 
            title="Account Form" />
        </zonetemplate>
      </asp:webpartzone> 
    </form>
  </body>
</html>


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