ClientScriptManager.ValidateEvent Method (String, String)

 

Validates a client event that was registered for event validation using the RegisterForEventValidation method.

Namespace:   System.Web.UI
Assembly:  System.Web (in System.Web.dll)

Public Sub ValidateEvent (
	uniqueId As String,
	argument As String
)

Parameters

uniqueId
Type: System.String

A unique ID representing the client control generating the event.

argument
Type: System.String

The event arguments passed with the client event.

Exception Condition
ArgumentException

uniqueId is null or an empty string ("").

The following code example demonstrates using the RegisterForEventValidation method and the ValidateEvent method to register a callback for validation and to validate that the callback originated from the page. To improve on the validation shown here, you could modify the validation argument parameter to contain information specific to the user such as an identity or role

<%@ 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>

.NET Framework
Available since 2.0
Return to top
Show: