Compartilhar via


IParametersInProvider.ParametersInReady event

NOTE: This API is now obsolete.

Ocorre quando a lista de parâmetros está pronta para ser enviada para a Web Part do consumidor. No computador cliente, pode ocorrer a qualquer momento; No entanto, ele normalmente é disparado quando um parâmetro é atualizado ou selecionado. No servidor, ele deve ser gerado no método 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 ParametersInReady As ParametersInReadyEventHandler
'Uso
Dim instance As IParametersInProvider
Dim handler As ParametersInReadyEventHandler

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

Comentários

O manipulador de eventos recebe um argumento do tipo Microsoft.SharePoint.WebPartPages.Communication.ParametersInReadyEventArgs que contém dados relacionados a este evento. ParametersInReadyEventArgs contém 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 representados nessa matriz devem corresponder àqueles especificados pelo argumento Microsoft.SharePoint.WebPartPages.Communication.ParametersInConsumerInitEventArgs no método ParametersInConsumerInit .

Uma Web Part que implementa a interface IParametersInProvider sempre deve gerar o evento ParametersInReady ou o evento NoParametersIn . Algumas Web Parts podem não se comportar corretamente se eles não recebem essas informações. Dispara o evento ParametersInReady para enviar os parâmetros. Dispara o evento NoParametersIn 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 PartCommunicationMain que dispara o evento ParametersInReady . Este exemplo de código é parte de um exemplo maior fornecido para a interface IParametersInProvider .

      ' Step #7: Implement 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 ParametersInReady or 
      ' the NoParametersIn event. Some parts
      ' may not behave properly if they are left waiting for this 
      ' information.
      ' ParametersInReady should be fired to send the parameters.
      ' NoParametersIn 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
                ' Create the ParametersInReadyEventArgs object for the ParametersInReady event.
                Dim parametersInReadyEventArgs As New ParametersInReadyEventArgs()

                If _parametersReadyButtonClicked Then 'ParametersInReady Button was clicked

                    ' Set the parameter values to the text box values.
                    If Not (_fieldList Is Nothing) Then
                        parametersInReadyEventArgs.ParameterValues = New String(_fieldList.Length) {}

                        Dim index As Integer
                        For index = 0 To _fieldList.Length - 1
                            parametersInReadyEventArgs.ParameterValues(index) = _fontAttributeTextBox(index).Text
                        Next index

                        ' Fire the ParametersInReady event.
                        RaiseEvent ParametersInReady(Me, parametersInReadyEventArgs)
                        '_fieldList is null
                    Else
                        ' Fire the event.
                        RaiseEvent NoParametersIn(Me, New EventArgs())
                    End If
                    _parametersReadyButtonClicked = False
                ElseIf _noParametersInButtonClicked Then 'NoParametersIn Button was clicked                       
                    ' Fire the NoParametersIn event.
                    RaiseEvent NoParametersIn(Me, New EventArgs())
                    _noParametersInButtonClicked = False
                End If
            End If
        End Sub
// Step #7: Implement the PartCommunicationMain() method.
// The PartCommunicationMain method is called by the Web Part 
// infrastructure on the client during the ASP.NET PreRender
// phase to allow the part to pass its primary data to the other 
// connected parts.
// It is important to always fire either the ParametersInReady or the 
// NoParametersIn event. Some parts
// may not behave properly if they are left waiting for this 
// information.
// ParametersInReady should be fired to send the parameters.
// NoParametersIn 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 ParametersInReady event.
        if(ParametersInReady != null)
        {
            // Create the ParametersInReadyEventArgs object for the 
            // ParametersInReady event.
            ParametersInReadyEventArgs parametersInReadyEventArgs = new ParametersInReadyEventArgs();

            // If the ParametersInReady button was clicked.
            if(_parametersReadyButtonClicked)
            {
                // If there is a listener, fire the ParametersInReady 
                // event.
                if(ParametersInReady != null)
                {
                    // Set the parameter values to the text box values.
                    if (_fieldList != null)
                        parametersInReadyEventArgs.ParameterValues = new string[_fieldList.Length];

                    for (int index = 0; index < _fieldList.Length; index++)
                    {
                        parametersInReadyEventArgs.ParameterValues[index] = _fontAttributeTextBox[index].Text;
                    }

                    // Fire the ParametersInReady event.
                    ParametersInReady(this, parametersInReadyEventArgs);

                    _parametersReadyButtonClicked = false;
                }
            }

            // If the NoParametersIn button was clicked.
            else if(_noParametersInButtonClicked)
            {
                // If there is a listener, fire the NoParametersIn 
                // event.
                if(NoParametersIn != null)
                {
                    // Fire the event.
                    NoParametersIn(this, new EventArgs());

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

                    _noParametersInButtonClicked = false;
                }
            }
        }
    }
}

Ver também

Referência

IParametersInProvider interface

IParametersInProvider members

Microsoft.SharePoint.WebPartPages.Communication namespace