ClientScriptManager.ValidateEvent Méthode

Définition

Valide un événement client.

Surcharges

ValidateEvent(String)

Valide un événement client qui a été inscrit pour la validation d'événement à l'aide de la méthode RegisterForEventValidation(String).

ValidateEvent(String, String)

Valide un événement client qui a été inscrit pour la validation d'événement à l'aide de la méthode RegisterForEventValidation(String, String).

ValidateEvent(String)

Valide un événement client qui a été inscrit pour la validation d'événement à l'aide de la méthode RegisterForEventValidation(String).

public:
 void ValidateEvent(System::String ^ uniqueId);
public void ValidateEvent (string uniqueId);
member this.ValidateEvent : string -> unit
Public Sub ValidateEvent (uniqueId As String)

Paramètres

uniqueId
String

ID unique représentant le contrôle client qui génère l'événement.

Voir aussi

S’applique à

ValidateEvent(String, String)

Valide un événement client qui a été inscrit pour la validation d'événement à l'aide de la méthode RegisterForEventValidation(String, String).

public:
 void ValidateEvent(System::String ^ uniqueId, System::String ^ argument);
public void ValidateEvent (string uniqueId, string argument);
member this.ValidateEvent : string * string -> unit
Public Sub ValidateEvent (uniqueId As String, argument As String)

Paramètres

uniqueId
String

ID unique représentant le contrôle client qui génère l'événement.

argument
String

Les arguments d'événement passés avec l'événement client.

Exceptions

uniqueId ou null est une chaîne vide ("").

Exemples

L’exemple de code suivant illustre l’utilisation de la RegisterForEventValidation méthode et de la ValidateEvent méthode pour inscrire un rappel pour la validation et vérifier que le rappel provient de la page. Pour améliorer la validation présentée ici, vous pouvez modifier le paramètre de validation argument pour contenir des informations spécifiques à l’utilisateur, telles qu’une identité ou un rôle

<%@ Page Language="C#" %>
<%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server" >
        
    string _cbMessage = "";
    // Define method that processes the callbacks on server.
    public void RaiseCallbackEvent(String eventArgument)
    {
        try
        {
            Page.ClientScript.ValidateEvent(button1.UniqueID, this.ToString());
            _cbMessage = "Correct event raised callback.";
        }
        catch (Exception ex)
        {
            _cbMessage = "Incorrect event raised callback.";
        }
    }

    // Define method that returns callback result.
    public string GetCallbackResult()
    {
        return _cbMessage;
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            ClientScriptManager cs = Page.ClientScript;
            String cbReference = cs.GetCallbackEventReference("'" +
                Page.UniqueID + "'", "arg", "ReceiveServerData", "",
                "ProcessCallBackError", false);
            String callbackScript = "function CallTheServer(arg, context) {" +
                cbReference + "; }";
            cs.RegisterClientScriptBlock(this.GetType(), "CallTheServer",
                callbackScript, true);
        }
    }
    protected override void Render(HtmlTextWriter writer)
    {
        Page.ClientScript.RegisterForEventValidation(button1.UniqueID, this.ToString());
        base.Render(writer);
    }
    
</script>

<script type="text/javascript">
var value1 = new Date();
function ReceiveServerData(arg, context)
{
    Message.innerText = arg;
    Label1.innerText = "Callback completed at " + value1;
    value1 = new Date();
}
function ProcessCallBackError(arg, context)
{
    Message.innerText = 'An error has occurred.';
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>CallBack Event Validation Example</title>
</head>
<body>
    <form id="Form1" runat="server">
    <div>
      Callback result: <span id="Message"></span>
      <br /> <br />
      <input type="button"
             id="button1" 
             runat="server"
             value="ClientCallBack" 
             onclick="CallTheServer(value1, null )"/>
      <br /> <br />
      <asp:Label id="Label1" runat="server"/>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    Dim _cbMessage As String = ""
    ' Define method that processes the callbacks on server.
    Public Sub RaiseCallbackEvent(ByVal eventArgument As String) _
    Implements System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent
        
        Try
            Page.ClientScript.ValidateEvent(button1.UniqueID, Me.ToString())
            _cbMessage = "Correct event raised callback."
            
        Catch ex As Exception
            _cbMessage = "Incorrect event raised callback."

        End Try
        
    End Sub

    ' Define method that returns callback result.
    Public Function GetCallbackResult() _
    As String Implements _
    System.Web.UI.ICallbackEventHandler.GetCallbackResult

        Return _cbMessage
        
    End Function
    
    
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

        If (Not IsPostBack) Then
            Dim cs As ClientScriptManager = Page.ClientScript
            Dim cbReference As String = cs.GetCallbackEventReference("'" & _
                Page.UniqueID & "'", "arg", "ReceiveServerData", "", _
                "ProcessCallBackError", False)
            Dim callbackScript As String = "function CallTheServer(arg, context) {" & _
                cbReference & "; }"
            cs.RegisterClientScriptBlock(Me.GetType(), "CallTheServer", _
                callbackScript, True)
            
        End If
    End Sub
    
    Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
        
        Page.ClientScript.RegisterForEventValidation(button1.UniqueID, Me.ToString())
        MyBase.Render(writer)
    End Sub
    
</script>

<script type="text/javascript">
var value1 = new Date();
function ReceiveServerData(arg, context)
{
    Message.innerText = arg;
    Label1.innerText = "Callback completed at " + value1;
    value1 = new Date();
}
function ProcessCallBackError(arg, context)
{
    Message.innerText = 'An error has occurred.';
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>CallBack Event Validation Example</title>
</head>
<body>
    <form id="Form1" runat="server">
    <div>
      Callback result: <span id="Message"></span>
      <br /> <br />
      <input type="button"
             id="button1" 
             runat="server"
             value="ClientCallBack" 
             onclick="CallTheServer(value1, null )"/>
      <br /> <br />
      <asp:Label id="Label1" runat="server"/>
    </div>
    </form>
</body>
</html>

Voir aussi

S’applique à