ClientScriptManager.RegisterForEventValidation Yöntem

Tanım

Doğrulama için bir olay başvurusu kaydeder.

Aşırı Yüklemeler

RegisterForEventValidation(String, String)

Benzersiz bir denetim kimliği ve olayı oluşturan istemci denetimini temsil eden olay bağımsız değişkenleriyle doğrulama için bir olay başvurusu kaydeder.

RegisterForEventValidation(String)

Doğrulama için olayı oluşturan istemci denetimini temsil eden benzersiz bir denetim kimliğiyle bir olay başvurusu kaydeder.

RegisterForEventValidation(PostBackOptions)

ile PostBackOptionsdoğrulama için bir olay başvurusu kaydeder.

RegisterForEventValidation(String, String)

Benzersiz bir denetim kimliği ve olayı oluşturan istemci denetimini temsil eden olay bağımsız değişkenleriyle doğrulama için bir olay başvurusu kaydeder.

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

Parametreler

uniqueId
String

Olayı oluşturan istemci denetimini temsil eden benzersiz kimlik.

argument
String

İstemci olayıyla geçirilen olay bağımsız değişkenleri.

Özel durumlar

yöntemi yönteminden önce çağrılır Render(HtmlTextWriter) .

Örnekler

Aşağıdaki kod örneği, doğrulama için bir geri çağırma kaydetmek ve geri çağırmanın sayfadan ValidateEvent kaynaklandığını doğrulamak için yöntemini ve yöntemini kullanmayı RegisterForEventValidation gösterir. Örnekte gösterilen doğrulamayı geliştirmek için doğrulama argument parametresini kullanıcıya özgü kimlik veya rol gibi bilgileri içerecek şekilde değiştirebilirsiniz

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

Aşağıdaki kod örneği, doğrulama için bir geri çağırma kaydetmek için yönteminin kullanılmasını RegisterForEventValidation gösterir.

<%@ Page EnableEventValidation="true" Language="C#"  %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Register an option for event validation</title>
    <script runat="server">
        protected override void Render(HtmlTextWriter writer)
        {
            ClientScript.RegisterForEventValidation("DropDownList1", "This is Option 1");
            ClientScript.RegisterForEventValidation("DropDownList1", "This is Option 2");
            ClientScript.RegisterForEventValidation("DropDownList1", "This is Option 3");
            // Uncomment the line below when you want to specifically register the option for event validation.
            // ClientScript.RegisterForEventValidation("DropDownList1", "Is this option registered for event validation?");
            base.Render(writer);
        }
    </script>
    <script type="text/javascript">
        function Initialize()
        {
            var oOption = document.createElement("OPTION");
            document.all("DropDownList1").options.add(oOption);
            oOption.innerText = "This is Option 1";            
            oOption = document.createElement("OPTION");            
            document.all("DropDownList1").options.add(oOption);
            oOption.innerText = "This is Option 2";
            oOption = document.createElement("OPTION");                
            document.all("DropDownList1").options.add(oOption); 
            oOption.innerText = "This is Option 3";
            oOption = document.createElement("OPTION");                
            document.all("DropDownList1").options.add(oOption); 
            oOption.innerText = "Is this option registered for event validation?";
        }
    </script>
</head>
<body onload="Initialize();">
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>
        <asp:Button ID="Button1" runat="server" Text="Postback to server for validation" />
    </div>
    </form>
</body>
</html>
<%@ Page EnableEventValidation="true" Language="VB"  %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Register an option for event validation</title>
    <script runat="server">
        Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
            ClientScript.RegisterForEventValidation("DropDownList1", "This is Option 1")
            ClientScript.RegisterForEventValidation("DropDownList1", "This is Option 2")
            ClientScript.RegisterForEventValidation("DropDownList1", "This is Option 3")
            ' Uncomment the line below when you want to specifically register the option for event validation.
            ' ClientScript.RegisterForEventValidation("DropDownList1", "Is this option registered for event validation?")
            MyBase.Render(writer)
        End Sub
    </script>
    <script type="text/javascript">
        function Initialize()
        {
            var oOption = document.createElement("OPTION");
            document.all("DropDownList1").options.add(oOption);
            oOption.innerText = "This is Option 1";            
            oOption = document.createElement("OPTION");            
            document.all("DropDownList1").options.add(oOption);
            oOption.innerText = "This is Option 2";
            oOption = document.createElement("OPTION");                
            document.all("DropDownList1").options.add(oOption); 
            oOption.innerText = "This is Option 3";
            oOption = document.createElement("OPTION");                
            document.all("DropDownList1").options.add(oOption); 
            oOption.innerText = "Is this option registered for event validation?";
        }
    </script>
</head>
<body onload="Initialize();">
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="DropDownList1" runat="server">
        </asp:DropDownList>
        <asp:Button ID="Button1" runat="server" Text="Postback to server for validation" />
    </div>
    </form>
</body>
</html>

Ayrıca bkz.

Şunlara uygulanır

RegisterForEventValidation(String)

Doğrulama için olayı oluşturan istemci denetimini temsil eden benzersiz bir denetim kimliğiyle bir olay başvurusu kaydeder.

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

Parametreler

uniqueId
String

Olayı oluşturan istemci denetimini temsil eden benzersiz kimlik.

Örnekler

Aşağıdaki örnekte, doğrulama için bir geri çağırma kaydetmek için yönteminin ValidateEvent ve yönteminin nasıl kullanılacağı RegisterForEventValidation ve geri çağırmanın sayfadan kaynaklandığının nasıl doğrulandığı gösterilmektedir.

<%@ 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);
            _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);
        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 id="Head1" 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)
            _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)
        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>

Açıklamalar

Daha fazla bilgi ve örnek için yöntemine RegisterForEventValidation bakın.

Ayrıca bkz.

Şunlara uygulanır

RegisterForEventValidation(PostBackOptions)

ile PostBackOptionsdoğrulama için bir olay başvurusu kaydeder.

public:
 void RegisterForEventValidation(System::Web::UI::PostBackOptions ^ options);
public void RegisterForEventValidation (System.Web.UI.PostBackOptions options);
member this.RegisterForEventValidation : System.Web.UI.PostBackOptions -> unit
Public Sub RegisterForEventValidation (options As PostBackOptions)

Parametreler

options
PostBackOptions

Geri PostBackOptions gönderme olayı başlatmak için istemci JavaScript'in nasıl oluşturulduğunu belirten nesne.

Açıklamalar

Daha fazla bilgi ve örnek için yöntemine RegisterForEventValidation bakın.

Ayrıca bkz.

Şunlara uygulanır