Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Método WebPartZoneBase.OnCreateVerbs (WebPartVerbsEventArgs)

 

Gera o CreateVerbs evento.

Namespace:   System.Web.UI.WebControls.WebParts
Assembly:  System.Web (em System.Web.dll)

protected virtual void OnCreateVerbs(
	WebPartVerbsEventArgs e
)

Parâmetros

e
Type: System.Web.UI.WebControls.WebParts.WebPartVerbsEventArgs

Um EventArgs que contém os dados do evento.

Você pode substituir o OnCreateVerbs método em um derivado WebPartZoneBase classe para adicionar adicionais de zona WebPartVerb objetos para a coleção de verbos padrão em sua região. Você pode fazer isso adicionando verbos à coleção de Verbs propriedade.

O exemplo de código a seguir demonstra uma maneira de criar um manipulador para o CreateVerbs evento, substituindo o OnCreateVerbs método para adicionar um verbo personalizado para um derivado WebPartZoneBase zona.

O exemplo de código contém dois arquivos de origem. Para o exemplo de código seja executado, você deve compilar esse código-fonte. Você pode compilá-lo explicitamente e colocar o assembly resultante na pasta Bin do seu site da Web ou cache de assembly global. Como alternativa, você pode colocar o código-fonte na pasta App_Code de seu site, onde ele será compilado dinamicamente em tempo de execução. Este exemplo de código usa compilação dinâmica. Para uma explicação passo a passo que demonstre como compilar, consulte Passo a passo: desenvolvendo e usando um controle de servidor Web personalizado.

A primeira parte do exemplo de código é o código-fonte para um controle derivado de WebPart classe.

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

namespace Samples.AspNet.CS.Controls
{

	// This code snippet creates a simple Web Part control.
 	[AspNetHostingPermission(SecurityAction.Demand,
	  Level = AspNetHostingPermissionLevel.Minimal)]
	[AspNetHostingPermission(SecurityAction.InheritanceDemand,
	  Level = AspNetHostingPermissionLevel.Minimal)]
	public class SimpleControl : WebPart
	{

		private String _text = "Simple control text";

		public string Text
		{
			get
			{
				if (_text != null)
					return _text;
				else
					return string.Empty;
			}
			set { _text = value; }
		}

		protected override void Render(System.Web.UI.HtmlTextWriter 
      writer)
		{
			writer.Write(this.Text);
		}
	}
}

A segunda parte do exemplo de código é o código-fonte para um derivado WebPartZoneBase zona que substitui o OnCreateVerbs método para adicionar um verbo personalizado para a zona. O código também cria um verbo personalizado que aparece no menu de verbos WebPart controles contidos na zona e o verbo cria outra cópia do atual WebPart controle.

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

namespace Samples.AspNet.CS.Controls
{
/* 
This code sample creates a Web Part zone and adds the 
"Copy Web Part" verb to any control in the zone.
*/
[AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
public class ZoneWithAddedVerb : WebPartZone
{

  protected override void OnCreateVerbs(WebPartVerbsEventArgs e)
  {
    List<WebPartVerb> newVerbs = new List<WebPartVerb>();
    newVerbs.Add(new CopyWebPartVerb(CopyWebPartToNewOne));
    e.Verbs = new WebPartVerbCollection(e.Verbs,newVerbs);
    base.OnCreateVerbs(e);
  }

  void CopyWebPartToNewOne(object sender, WebPartEventArgs e)
  {
    WebPartManager wpmgr = 
      WebPartManager.GetCurrentWebPartManager(Page);
    System.Web.UI.WebControls.WebParts.WebPart wp;
    Type tp = e.WebPart.GetType(); 
    wp = (System.Web.UI.WebControls.WebParts.WebPart)Activator.CreateInstance(tp);   
    wpmgr.AddWebPart(wp, e.WebPart.Zone, e.WebPart.ZoneIndex + 1);
  }
}
  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  internal class CopyWebPartVerb : WebPartVerb
  {
    private const String _copyWebPartImageUrl = "~/CopyVerb.ico";

    internal CopyWebPartVerb(WebPartEventHandler serverClickHandler) :  
       base("MyVerb", serverClickHandler)
    { }
    public override string Text
    {
      get { return "Copy Web Part"; }
      set { ;}
    }
    public override string Description
    {
      get { return "This verb will copy this web part control " +
        "to a new one below"; }
      set { ; }
    }
    public override bool Enabled
    {
      get { return base.Enabled; }
      set { base.Enabled = value; }
    }

    public override string ImageUrl
    {
      get { return _copyWebPartImageUrl; }
      set { ; }
    }
  }
}

A terceira parte do exemplo de código é uma página da Web que hospeda a zona derivada e WebPart controle. Na parte superior da página há uma Register diretiva para referenciar o componente derivada de zona. Se você carregar a página em um navegador, o WebPart controle aparece na zona. Clique no menu de verbos, clique o CopyWebPart verbo e cria uma cópia do controle.

<%@ Page Language="C#" %>
<%@ Register TagPrefix="verbsample" 
    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" />
    <verbsample:ZoneWithAddedVerb id="ZoneWithAddedVerb1" 
      HeaderText="Zone with Added Verb" runat="server">
        <ZoneTemplate>
           <verbsample:SimpleControl id="SimpleControl1" 
            title="Simple Control" runat="server" /> 
        </ZoneTemplate>
        </verbsample:ZoneWithAddedVerb>
     </form>
</body>
</html>

.NET Framework
Disponível desde 2.0
Retornar ao início
Mostrar: