相关文章推荐
害羞的匕首  ·  mysql除法报错1365 - ...·  1 年前    · 
性感的凉面  ·  SmtpClient.Dispose 方法 ...·  1 年前    · 

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Download Microsoft Edge More info about Internet Explorer and Microsoft Edge
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)

Parameters

Examples

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 in the example, you could modify the validation argument parameter to contain information specific to the user such as an identity or role

<%@ 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) 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> <form id="Form1" runat="server"> 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"/> </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 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> <form id="Form1" runat="server"> 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"/> </form> </body> </html>

The following code example demonstrates using the RegisterForEventValidation method to register a callback for validation.

<%@ 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"> <asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList> <asp:Button ID="Button1" runat="server" Text="Postback to server for validation" /> </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"> <asp:DropDownList ID="DropDownList1" runat="server"> </asp:DropDownList> <asp:Button ID="Button1" runat="server" Text="Postback to server for validation" /> </form> </body> </html>
public:
 void RegisterForEventValidation(System::String ^ uniqueId);
public void RegisterForEventValidation (string uniqueId);
member this.RegisterForEventValidation : string -> unit
Public Sub RegisterForEventValidation (uniqueId As String)

Parameters

Examples

The following example shows how to use the RegisterForEventValidation method and the ValidateEvent method in order to register a callback for validation, and how to validate that the callback originated from the page.

<%@ 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) 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> <form id="Form1" runat="server"> 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"/> </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 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> <form id="Form1" runat="server"> 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"/> </form> </body> </html>

Remarks

For more information and examples, see the RegisterForEventValidation method.

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)

Parameters