(0) exportieren Drucken
Alle erweitern

ClientScriptManager.ValidateEvent-Methode (String, String)

Aktualisiert: November 2007

Validiert ein Clientereignis, das mit der RegisterForEventValidation-Methode für die Ereignisvalidierung registriert wurde.

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

public void ValidateEvent(
	string uniqueId,
	string argument
)
public void ValidateEvent(
	String uniqueId,
	String argument
)
public function ValidateEvent(
	uniqueId : String, 
	argument : String
)

Parameter

uniqueId
Typ: System.String
Eine eindeutige ID, die das Clientsteuerelement darstellt, das das Ereignis generiert.
argument
Typ: System.String
An das Clientereignis übergebene Ereignisargumente.

AusnahmeBedingung
ArgumentException

uniqueId ist null oder eine leere Zeichenfolge ("").

Im folgenden Codebeispiel wird die Verwendung der RegisterForEventValidation-Methode und der ValidateEvent-Methode zum Registrieren eines Rückrufs für die Validierung veranschaulicht. Außerdem wird überprüft, ob der Rückruf von der Seite stammte. Zum Optimieren der hier gezeigten Validierung können Sie die argument-Parameter für die Validierung so ändern, dass sie benutzerspezifische Informationen wie eine Identität oder Rolle enthalten.

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


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft