Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Método WebPartZoneBase.OnCreateVerbs

Gera o evento CreateVerbs.

Namespace:  System.Web.UI.WebControls.WebParts
Assembly:  System.Web (em System.Web.dll)
protected virtual void OnCreateVerbs(
	WebPartVerbsEventArgs e
)

Parâmetros

e
Tipo: 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 da zona WebPartVerb objetos à coleção de verbos padrão na 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 a um derivado WebPartZoneBase zona.

O exemplo de código contém dois arquivos de origem. Para o exemplo de código para ser executado, você deve compilar este código-fonte. Você pode compilá-lo explicitamente e colocar o assembly resultante na pasta Bin do seu site da Web ou o cache de assembly global. Alternativamente, você pode colocar o código-fonte na pasta App_Code do seu site, onde 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 Walkthrough: Developing and Using a Custom Server Control.

A primeira parte do exemplo de código é o código-fonte para um controle simples é 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 à zona. O código também cria um verbo personalizado que aparece no menu de verbos de WebPart controles continham 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. Próximo à parte superior da página é um Register diretiva para referenciar o componente de zona derivada. Se você carregar a página em um navegador, o WebPart controle aparece na zona. Clique em menu de verbos, clique na CopyWebPart verbo e ele 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

Com suporte em: 4.5, 4, 3.5, 3.0, 2.0

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.
Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft. Todos os direitos reservados.