Compartilhar via


IParametersOutProvider.ParametersOutReady event

NOTE: This API is now obsolete.

Ocorre quando a lista de parâmetros está pronta para ser enviada para a Web Part consumidora de um provedor de Web Part que implementa a interface IParametersOutProvider . No computador cliente, ele pode ocorrer a qualquer momento; No entanto, ele normalmente é disparado quando um parâmetro é atualizado ou selecionado. No servidor, ele deverá ser gerado no métodoWebPart.PartCommunicationMain.

Namespace:  Microsoft.SharePoint.WebPartPages.Communication
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
<ObsoleteAttribute("Use System.Web.UI.WebControls.WebParts.IWebPartParameters instead")> _
Event ParametersOutReady As ParametersOutReadyEventHandler
'Uso
Dim instance As IParametersOutProvider
Dim handler As ParametersOutReadyEventHandler

AddHandler instance.ParametersOutReady, handler
[ObsoleteAttribute("Use System.Web.UI.WebControls.WebParts.IWebPartParameters instead")]
event ParametersOutReadyEventHandler ParametersOutReady

Comentários

O manipulador de eventos recebe um argumento do tipo Microsoft.SharePoint.WebPartPages.Communication.ParametersOutReadyEventArgs que contém dados relacionados a este evento. Essa classe fornece uma matriz de seqüências de caracteres em sua propriedade ParameterValues . Cada seqüência de caracteres na matriz é um valor de um parâmetro. O número e a ordem dos parâmetros contidos nessa matriz devem corresponder àqueles especificados pelo argumento Microsoft.SharePoint.WebPartPages.Communication.ParametersOutProviderInitEventArgs do método ParametersOutProviderInit .

Uma Web Part que implementa a interface IParametersOutProvider sempre deve disparar o evento de NoParametersOut ou o ParametersOutReady . Algumas Web Parts podem não se comportar corretamente se eles não recebem essas informações. Dispara o evento ParametersOutReady para enviar os parâmetros. Dispara o evento NoParametersOut para indicar que não há nenhuma alteração nos parâmetros.

Examples

O exemplo de código a seguir mostra um método substituído PartCommunicationsMain que dispara o evento ParametersOutReady . Este exemplo de código é parte de um exemplo maior fornecido para a interface IParametersOutProvider .

      ' Step #8: Override the PartCommunicationMain() method.
      ' The PartCommunicationMain method is called by the Web Part 
      ' infrastructure on the client during the ASP.NET PreRender
      ' event to allow the part to pass its primary data to the other 
      ' connected parts.
      ' It is important to always fire either the ParametersOutReady or 
      ' the NoParametersOut event. Some parts
      ' may not behave properly if they are left waiting for this 
      ' information. ParametersOutReady should be fired to send the 
      ' parameters. NoParametersOut should be fired to indicate that 
      ' there is no change in the parameters.
       Public Overrides Sub PartCommunicationMain()
            ' Ensure that all of the Web Part's controls are created.
            EnsureChildControls()

            ' Check if connected.
            If _connected Then
                ' Need to create the ParametersOutReadyEventArgs object 
                ' for the ParametersOutReady event.
                Dim parametersOutReadyEventArgs As New ParametersOutReadyEventArgs()

                If _parametersReadyButtonClicked Then 'ParametersOutReady Button was clicked
                    ' Set the values to the values of the text boxes.
                    parametersOutReadyEventArgs.ParameterValues = New String(3) {}
                    parametersOutReadyEventArgs.ParameterValues(0) = _fontFamilyListBox.SelectedItem.Value
                    parametersOutReadyEventArgs.ParameterValues(1) = _fontColorListBox.SelectedItem.Value
                    parametersOutReadyEventArgs.ParameterValues(2) = _fontWeightListBox.SelectedItem.Value
                    parametersOutReadyEventArgs.ParameterValues(3) = _fontSizeListBox.SelectedItem.Value

                    ' Fire the ParametersOutReady event.
                    RaiseEvent ParametersOutReady(Me, parametersOutReadyEventArgs)
                    _parametersReadyButtonClicked = False
                    'The NoParametersOut button was clicked.
                ElseIf _noParametersOutButtonClicked Then
                    ' Fire the event.
                    RaiseEvent NoParametersOut(Me, New EventArgs())
                    _noParametersOutButtonClicked = False
                    ' The user didn't click any button.
                Else
                    ' Fire the event.
                    RaiseEvent NoParametersOut(Me, New EventArgs())
                    _noParametersOutButtonClicked = False
                End If
            End If
        End Sub  
// Step #8: Override the PartCommunicationMain() method.
// The PartCommunicationMain method is called by the Web Part 
// infrastructure on the client during the ASP.NET PreRender
// event to allow the part to pass its primary data to the other 
// connected parts. It is important to always fire either the 
// ParametersOutReady or the NoParametersOut event. Some parts
// may not behave properly if they are left waiting for this 
// information. ParametersOutReady should be fired to send the 
// parameters. NoParametersOut should be fired to indicate that there 
// is no change in the parameters.

public override void PartCommunicationMain()
{
    // Ensure that all of the Web Part's controls are created.
    EnsureChildControls();

    // Check if connected.
    if(_connected)
    {
        // If there is a listener, fire the ParametersOutReady event.
        if(ParametersOutReady != null)
        {
            // Need to create the ParametersOutReadyEventArgs object 
            // for the ParametersOutReady event.
            ParametersOutReadyEventArgs parametersOutReadyEventArgs = new ParametersOutReadyEventArgs();

            if(_parametersReadyButtonClicked) //ParametersOutReady Button was clicked
            {
                // If there is a listener, fire the ParametersOutReady 
                // event.
                if(ParametersOutReady != null)
                {
                    // Set the values to the values of the text
                    // boxes.
                    parametersOutReadyEventArgs.ParameterValues = new string[4];
                    parametersOutReadyEventArgs.ParameterValues[0] = _fontFamilyListBox.SelectedItem.Value;
                    parametersOutReadyEventArgs.ParameterValues[1] = _fontColorListBox.SelectedItem.Value;
                    parametersOutReadyEventArgs.ParameterValues[2] = _fontWeightListBox.SelectedItem.Value;
                    parametersOutReadyEventArgs.ParameterValues[3] = _fontSizeListBox.SelectedItem.Value;

                    // Fire the ParametersOutReady event.
                    ParametersOutReady(this, parametersOutReadyEventArgs);

                    _parametersReadyButtonClicked = false;
                }
            }
            //The NoParametersOut button was clicked.
            else if(_noParametersOutButtonClicked) 
            {
                // If there is a listener, fire the NoParametersOut 
                // event.
                if(NoParametersOut != null)
                {
                    // Fire the event.
                    NoParametersOut(this, new EventArgs());

                    _noParametersOutButtonClicked = false;
                }
            }
            // The user didn't click any button.
            else 
            {
                // If there is a listener, fire the NoParametersOut 
                // event.
                if(NoParametersOut != null)
                {
                    // Fire the event.
                    NoParametersOut(this, new EventArgs());

                    _noParametersOutButtonClicked = false;
                }
            }
        }
    }
}

Ver também

Referência

IParametersOutProvider interface

IParametersOutProvider members

Microsoft.SharePoint.WebPartPages.Communication namespace