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