what is the correct configuration of RadAjaxManager - this issue is in ralationship with UpdatePanel !

3 posts, 1 answers
  1. Majid Darab
    Majid Darab avatar
    110 posts
    Member since:
    Sep 2012

    Posted 16 May 2011 Link to this post

    hi dear telerik team

    At first look at the below aspx:
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm4.aspx.cs" Inherits="Amlak.WebForm4" %>
     
    <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <div>
            <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
                <AjaxSettings>
                    <telerik:AjaxSetting AjaxControlID="RadComboBox1">
                        <UpdatedControls>
                            <telerik:AjaxUpdatedControl ControlID="CheckBox1" UpdatePanelRenderMode="Inline" />
                        </UpdatedControls>
                    </telerik:AjaxSetting>
                </AjaxSettings>
            </telerik:RadAjaxManager>
            <telerik:RadComboBox ID="RadComboBox1" runat="server" AutoPostBack="True" AppendDataBoundItems="True"
                OnSelectedIndexChanged="RadComboBox1_SelectedIndexChanged">
                <Items>
                    <telerik:RadComboBoxItem runat="server" Text="1" Value="1" />
                    <telerik:RadComboBoxItem runat="server" Text="2" Value="2" />
                    <telerik:RadComboBoxItem runat="server" Text="3" Value="3" />
                    <telerik:RadComboBoxItem runat="server" Text="4" Value="4" />
                </Items>
            </telerik:RadComboBox>
            <br />
            <br />
            <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged"
                Text="Check Me" TextAlign="Left" />
            <br />
            <br />
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        </div>
        </form>
    </body>
    </html>

    My code behind is like this:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
     
    namespace Amlak
    {
        public partial class WebForm4 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
     
            }
     
            protected void RadComboBox1_SelectedIndexChanged(object sender, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
            {
                if (RadComboBox1.SelectedItem.Value == "2")
                {
                    CheckBox1.Checked = true;
                }
                else
                {
                    CheckBox1.Checked = false;
                }
     
            }
     
            protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
            {
                if (CheckBox1.Checked)
                {
                    TextBox1.Text = "text";
                }
                else
                {
                    TextBox1.Text = "";
                }
            }
        }
    }


    My goals:


    1. I want to force RadComboBox1 to work in AJAX mode
      and change the CheckBox1.Checked by defined conditions in code behind.
      -> do not want postback for this.

    2. I want to force CheckBox1 to work in PostBack mode and change the TextBox1.text by defined conditions in code behind. -> I want postback for this.

    In this scenario -> RadComboBox1 works fine
    but I don't know why OnCheckedChanged="CheckBox1_CheckedChanged" does not fire when we change check of CheckBox1! (because we added it as update of RadComboBox1 In RadAjaxManager1).


    My questions:

    1-Should I add RadComboBox1 as update Of RadComboBox1 or not? However it works fine without adding this.

    2-If we add ChechBox1 To RadAjaxManager1 like below:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm4.aspx.cs" Inherits="Amlak.WebForm4" %>
     
    <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <div>
            <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
                <AjaxSettings>
                    <telerik:AjaxSetting AjaxControlID="RadComboBox1">
                        <UpdatedControls>
                            <telerik:AjaxUpdatedControl ControlID="CheckBox1" UpdatePanelRenderMode="Inline" />
                        </UpdatedControls>
                    </telerik:AjaxSetting>
                    <telerik:AjaxSetting AjaxControlID="CheckBox1">
                        <UpdatedControls>
                            <telerik:AjaxUpdatedControl ControlID="TextBox1" />
                        </UpdatedControls>
                    </telerik:AjaxSetting>
                </AjaxSettings>
            </telerik:RadAjaxManager>
            <telerik:RadComboBox ID="RadComboBox1" runat="server" AutoPostBack="True" AppendDataBoundItems="True"
                OnSelectedIndexChanged="RadComboBox1_SelectedIndexChanged">
                <Items>
                    <telerik:RadComboBoxItem runat="server" Text="1" Value="1" />
                    <telerik:RadComboBoxItem runat="server" Text="2" Value="2" />
                    <telerik:RadComboBoxItem runat="server" Text="3" Value="3" />
                    <telerik:RadComboBoxItem runat="server" Text="4" Value="4" />
                </Items>
            </telerik:RadComboBox>
            <br />
            <br />
            <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged"
                Text="Check Me" TextAlign="Left" />
            <br />
            <br />
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        </div>
        </form>
    </body>
    </html>

    So it works fine in AJAX mode, but I want to force CheckBox1 to work in PostBack!
    How can I fix this issue?

    3-Should I add TextBox1 as update of RadComboBox1 in RadAjaxManager or not?

    Thanks for attention to my question.
    best regards


  2. Answer
    Kevin Babcock
    Kevin Babcock avatar
    189 posts
    Member since:
    Mar 2007

    Posted 17 May 2011 Link to this post

    Hi Majid,

    You can take advantage of the OnRequestStart even of the RadAjaxManager to disable Ajax functionality for specific requests. Here's an updated version of your code that works as you requested:

    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <div>
        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
            <AjaxSettings>
                <telerik:AjaxSetting AjaxControlID="RadComboBox1">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl
                            ControlID="CheckBox1"
                            UpdatePanelRenderMode="Inline" />
                        <telerik:AjaxUpdatedControl
                            ControlID="TextBox1"
                            UpdatePanelRenderMode="Inline" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="CheckBox1">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl
                            ControlID="TextBox1"
                            UpdatePanelRenderMode="Inline" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
            </AjaxSettings>
            <ClientEvents OnRequestStart="onAjaxRequestStart" />
        </telerik:RadAjaxManager>
     
        <telerik:RadComboBox ID="RadComboBox1" runat="server"
            AutoPostBack="True"
            AppendDataBoundItems="True"
            OnSelectedIndexChanged="RadComboBox1_SelectedIndexChanged">
            <Items>
                <telerik:RadComboBoxItem runat="server" Text="1" Value="1" />
                <telerik:RadComboBoxItem runat="server" Text="2" Value="2" />
                <telerik:RadComboBoxItem runat="server" Text="3" Value="3" />
                <telerik:RadComboBoxItem runat="server" Text="4" Value="4" />
            </Items>
        </telerik:RadComboBox>
     
        <br />
        <br />
     
        <asp:CheckBox ID="CheckBox1" runat="server"
            AutoPostBack="True"
            OnCheckedChanged="CheckBox1_CheckedChanged"
            Text="Check Me"
            TextAlign="Left" />
     
        <br />
        <br />
     
        <asp:TextBox ID="TextBox1" runat="server" />
     
        <telerik:RadCodeBlock runat="server">
            <script type="text/javascript">
                function onAjaxRequestStart(s, e) {
                    var target = e.get_eventTarget(),
                        checkBoxId = '<%= CheckBox1.ClientID %>';
                    if (target === checkBoxId) {
                        e.set_enableAjax(false);
                    }
                }
            </script>
        </telerik:RadCodeBlock>
    </div>

    If this solution helps, don't forget to mark it as the answer to your question!

    Regards,
    Kevin
  3. UI for ASP.NET Ajax is Ready for VS 2017
  4. Majid Darab
    Majid Darab avatar
    110 posts
    Member since:
    Sep 2012

    Posted 17 May 2011 Link to this post

    THANK YOU MR. KEVIN...
    THIS IS MY SPECIAL THANKS TO YOU FOR READING AND GIVE ME THE BEST...

    BEST WISHES
Back to Top