ClientScriptManager.ValidateEvent 메서드

정의

클라이언트 이벤트의 유효성을 검사합니다.

오버로드

Name Description
ValidateEvent(String)

메서드를 사용하여 이벤트 유효성 검사를 위해 등록된 클라이언트 이벤트의 유효성을 RegisterForEventValidation(String) 검사합니다.

ValidateEvent(String, String)

메서드를 사용하여 이벤트 유효성 검사를 위해 등록된 클라이언트 이벤트의 유효성을 RegisterForEventValidation(String, String) 검사합니다.

ValidateEvent(String)

메서드를 사용하여 이벤트 유효성 검사를 위해 등록된 클라이언트 이벤트의 유효성을 RegisterForEventValidation(String) 검사합니다.

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

매개 변수

uniqueId
String

이벤트를 생성하는 클라이언트 컨트롤을 나타내는 고유 ID입니다.

추가 정보

적용 대상

ValidateEvent(String, String)

메서드를 사용하여 이벤트 유효성 검사를 위해 등록된 클라이언트 이벤트의 유효성을 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)

매개 변수

uniqueId
String

이벤트를 생성하는 클라이언트 컨트롤을 나타내는 고유 ID입니다.

argument
String

클라이언트 이벤트와 함께 전달된 이벤트 인수입니다.

예외

uniqueId 가거나 빈 문자열("")입니다 null .

예제

다음 코드 예제에서는 메서드와 RegisterForEventValidation 메서드를 사용하여 ValidateEvent 유효성 검사를 위한 콜백을 등록하고 콜백이 페이지에서 발생했는지 확인하는 방법을 보여 줍니다. 여기에 표시된 유효성 검사를 개선하기 위해 ID 또는 역할과 같은 사용자와 관련된 정보를 포함하도록 유효성 argument 검사 매개 변수를 수정할 수 있습니다.

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

추가 정보

적용 대상