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;
}
}
}
}
}