New to Telerik UI for ASP.NET AJAXStart a free 30-day trial

ajaxRequestWithTarget() method

Client-side method to trigger a PostBack on behalf of another Control using the Telerik WebForms AjaxManager component.

This method will populate the __EVENTTARGET and __EVENTARGUMENT fields of the Request.Form with the values from the parameters.

Usage

The ajaxRequestWithTarget(eventTarget, eventArgument) method takes two parameters.

Parameters

ParameterTypeDescription
eventTargetstringThe UniqueID of the TargetControl on which behalf you want to submit the Form
eventArgumentstringThe string data you want to pass as along (e.g. text, JSON string, etc.)

Example

ASP.NET
<telerik:RadButton runat="server" ID="btnTargetControl" Text="Target Control" OnClick="btnTargetControl_Click" />
<telerik:RadButton runat="server" ID="RadButton1" Text="PostBack on behalf of Target Control" AutoPostBack="false" OnClientClicked="OnClientClicked" />

<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
    <script>
        function OnClientClicked(){
            var ajaxManager = $find("<%= RadAjaxManager1.ClientID %>");
            // Trigger AJAX request on behalf of btnTargetControl, no parameter
            ajaxManager.ajaxRequestWithTarget('<%= btnTargetControl.UniqueID %>', '');

            // Trigger AJAX request on behalf of btnTargetControl, with simple text as parameter
            ajaxManager.ajaxRequest('<%= btnTargetControl.UniqueID %>', 'MyStringValue');

            // Trigger AJAX request on behalf of btnTargetControl, with JSON string as parameter
            // JSON Object
            var jsonObject = {
                "field1": "value1",
                "field2": "value2",
                "field3": "value3",
            }
            // JSON String
            var jsonString = JSON.stringify(jsonObject);
            // Send JSON string as parameter
            ajaxManager.ajaxRequest('<%= btnTargetControl.UniqueID %>', jsonString);
        }
    </script>
</telerik:RadScriptBlock>

If AJAX is enabled for the Control specified in the eventTarget parameter, a Partial PostBack/AJAX request will be done instead of refreshing the entire page.

If you send a JSON string, you can deserialize it to an object, see How to serialize and deserialize (marshal and unmarshal) JSON in .NET and Deserialize an Object - Newtonsoft

Access the values on Server

Upon triggering a PostBack on behalf of another Control, the server-event attached to the TargetControl will be called and can be used to access the parameter values from the Request.Form.

Example

C#
protected void btnTargetControl_Click(object sender, EventArgs e)
{
    string eventTarget = Request.Form["__EVENTTARGET"]; // btnTargetControl
    string eventArgument = Request.Form["__EVENTARGUMENT"]; // {\"field1\":\"value1\",\"field2\":\"value2\",\"field3\":\"value3\"}

    if (eventArgument == "MyString")
    {
        // do something
    }
    else
    {
        // In case deserializing JSON object
        try
        {
            // Deserialize myArgument
            // do the rest
        }
        catch (Exception ex)
        {
            // Handle the exception
            // or
            // Send an alert back to the client using AjaxManager
            RadAjaxManager1.Alert(string.Format("Error: {0}\n{1}", ex.Message, "Please review the JSON string and ensure it corresponds to the Object structure you want to Deserialize into."));
        }
    }
}
In this article
UsageAccess the values on Server
Not finding the help you need?
Contact Support