IParametersInProvider.ParametersInReady event
NOTE: This API is now obsolete.
參數清單時,就會傳送至消費者 Web 組件,就會發生。在用戶端電腦上,它可能會發生在任何時間 ;不過,它通常被引發當更新或選取參數時。在伺服器上,它必須引發PartCommunicationMain方法中。
Namespace: Microsoft.SharePoint.WebPartPages.Communication
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'宣告
<ObsoleteAttribute("Use System.Web.UI.WebControls.WebParts.IWebPartParameters instead")> _
Event ParametersInReady As ParametersInReadyEventHandler
'用途
Dim instance As IParametersInProvider
Dim handler As ParametersInReadyEventHandler
AddHandler instance.ParametersInReady, handler
[ObsoleteAttribute("Use System.Web.UI.WebControls.WebParts.IWebPartParameters instead")]
event ParametersInReadyEventHandler ParametersInReady
備註
事件處理常式會接收包含與這個事件相關的資料型別Microsoft.SharePoint.WebPartPages.Communication.ParametersInReadyEventArgs的引數。ParametersInReadyEventArgs包含在其ParameterValues屬性中的字串陣列。陣列中的每個字串是參數的值。數字,表示此陣列中的參數順序必須符合所指定的ParametersInConsumerInit方法中的Microsoft.SharePoint.WebPartPages.Communication.ParametersInConsumerInitEventArgs引數。
網頁組件實作IParametersInProvider介面應該永遠會引發ParametersInReady事件或NoParametersIn事件。如果它們不會收到這項資訊,某些 Web 組件可能會無法正確運作。引發ParametersInReady事件傳送參數。引發NoParametersIn事件,不代表在參數中的任何變更。
Examples
下列程式碼範例示範的覆寫的PartCommunicationMain方法時,就會引發ParametersInReady事件。這個程式碼範例是提供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;
}
}
}
}
}