Telerik is a leading vendor of ASP.NET AJAX, ASP.NET MVC, Silverlight, WinForms and WPF controls and components, as well as .NET Reporting, .NET ORM , .NET CMS, Code Analysis, Mocking, Team Productivity and Automated Testing Tools. Building on its expertise in interface development and Microsoft technologies, Telerik helps customers build applications with unparalleled richness, responsiveness and interactivity. Telerik products help thousands of companies to be more productive and deliver reliable applications under budget and on time.
Version Q1 2012 released 04/11/2012
select

Ajax / First Look

<<<May 2006>>>
 SMTWTFS
1830123456
1978910111213
2014151617181920
2121222324252627
2228293031123
2345678910
 From / Subject
Kilgore Trout
Subject: New Appointments
Brian Griffin
Subject: Paperclips
Glen Quagmire
Subject: New Office Rules
 Dear Sir, Your appointments have been updated and a copy of your schedule is waiting for you on your desk.

  • This example illustrates how to use the RadAjaxManager class to enable complex update relationships between web controls with ajax. In this particular organizer web application there are two controls that can initiate an AJAX request: Calendar and Grid.

    When the user selects a date from the calendar, this will cause two controls to be updated:
    1) The grid that lists the email messages received
    2) The MS DetailsView control that displays the text of the current message

    When the user selects a message from the grid control, this will cause the details view to be updated with the text of the correct message.

Source Code

C# VB.NET
Show code in new window Demo isolation steps
  • <%@ Register TagPrefix="telerik" TagName="Footer" Src="~/Common/Footer.ascx" %>
    <%@ Register TagPrefix="telerik" TagName="HeadTag" Src="~/Common/HeadTag.ascx" %>
    <%@ Register TagPrefix="telerik" TagName="Header" Src="~/Common/Header.ascx" %>
    <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>

    <%@ Page Language="c#" CodeFile="DefaultCS.aspx.cs" Inherits="Telerik.AJAXExamplesCSharp.AJAX.Examples.Manager.FirstLook.DefaultCS" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <telerik:HeadTag ID="Headtag1" runat="server"></telerik:HeadTag>
        <!-- custom head section -->
        <style type="text/css">
            td.CalendarDay a
            {
                background: transparent url(Img/calendarDateBg.gif) center center no-repeat;
                text-decoration: none;
                display: block;
                line-height: 16px;
            }
            td.CalendarDay a:active
            {
                color: #cd6f00 !important;
                font-weight: bold;
            }
            #MessageBody td
            {
                vertical-align: top;
            }
        </style>
        <!-- end of custom head section -->
    </head>
    <body class="BODY">
        <form id="mainForm" method="post" runat="server">
        <telerik:Header ID="Header1" runat="server" XhtmlCompliant="false" NavigationLanguage="CS"
            ShowSkinChooser="true"></telerik:Header>
        <!-- content start -->
        <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
        </telerik:RadScriptManager>
        <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
            <script type="text/javascript">
                //<![CDATA[
                function DateClick(sender, args) {
                    var get_date = args.get_renderDay().get_date();
                    var date = get_date[0] + "/" + get_date[1] + "/" + get_date[2];
                    if (date != "2006/5/28" && date != "2006/5/29" && date != "2006/5/30") {
                        args.set_cancel(true);
                        alert("You can select highlighted dates only");
                    }
                    else {
                        var selectedDateTriplet = $find("<%= RadCalendar1.ClientID %>").get_selectedDates()[0];
                        var selectedDate = selectedDateTriplet[0] + "/" + selectedDateTriplet[1] + "/" + selectedDateTriplet[2];
                        if (date == selectedDate) {
                            args.set_cancel(true);
                        }
                    }
                }
                //]]>
            </script>
        </telerik:RadCodeBlock>
        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
            <AjaxSettings>
                <telerik:AjaxSetting AjaxControlID="RadCalendar1">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="RadCalendar1"></telerik:AjaxUpdatedControl>
                        <telerik:AjaxUpdatedControl ControlID="EmailGrid" LoadingPanelID="RadAjaxLoadingPanel1">
                        </telerik:AjaxUpdatedControl>
                        <telerik:AjaxUpdatedControl ControlID="MessageBody" LoadingPanelID="RadAjaxLoadingPanel1">
                        </telerik:AjaxUpdatedControl>
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="EmailGrid">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="EmailGrid"></telerik:AjaxUpdatedControl>
                        <telerik:AjaxUpdatedControl ControlID="MessageBody" LoadingPanelID="RadAjaxLoadingPanel1">
                        </telerik:AjaxUpdatedControl>
                    </UpdatedControls>
                </telerik:AjaxSetting>
            </AjaxSettings>
        </telerik:RadAjaxManager>
        <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" />
        <telerik:RadSplitter ID="MainSplitter" runat="server" Orientation="Horizontal" Width="100%">
            <telerik:RadPane ID="NestedSplitterPane" runat="server" Scrolling="None" Height="210px">
                <telerik:RadSplitter ID="NestedSplitter" runat="server" Orientation="Vertical">
                    <telerik:RadPane ID="CalendarPane" runat="server" Scrolling="None" Width="220px">
                        <telerik:RadToolBar ID="CalendarToolbar" runat="server" Width="100%">
                            <Items>
                                <telerik:RadToolBarButton Text="Calendar" Font-Bold="true" Font-Size="16px" Font-Names="arial" />
                            </Items>
                        </telerik:RadToolBar>
                        <telerik:RadCalendar ID="RadCalendar1" runat="server" DayNameFormat="FirstLetter"
                            FocusedDate="2006/05/01" OnDayRender="RadCalendar1_DayRender" OnSelectionChanged="RadCalendar1_SelectionChanged"
                            EnableMultiSelect="false" AutoPostBack="true" UseColumnHeadersAsSelectors="false"
                            UseRowHeadersAsSelectors="false">
                            <ClientEvents OnDateClick="DateClick" />
                        </telerik:RadCalendar>
                    </telerik:RadPane>
                    <telerik:RadPane ID="GridPane" runat="server" Scrolling="None">
                        <telerik:RadToolBar ID="GridToolbar" runat="server" Width="100%">
                            <Items>
                                <telerik:RadToolBarButton Text="Inbox" Font-Bold="true" Font-Size="16px" Font-Names="arial" />
                            </Items>
                        </telerik:RadToolBar>
                        <telerik:RadGrid ID="EmailGrid" DataSourceID="SqlDataSource1" runat="server" GridLines="None" Height="177px"
                            CellPadding="0" AutoGenerateColumns="False">
                            <MasterTableView DataKeyNames="id">
                                <Columns>
                                    <telerik:GridTemplateColumn HeaderText="&#160;From / Subject">
                                        <ItemTemplate>
                                            <table cellpadding="2" cellspacing="0" style="cursor: default;">
                                                <tr>
                                                    <td style="border: 0px;">
                                                        <img src="Img/mailRead<%# Eval("read") %>.gif" height="12" width="13" style="margin: 0px 3px;"
                                                            alt="" />
                                                    </td>
                                                    <td style="border: 0px;">
                                                        <%# Eval("Name") %>
                                                        <br />
                                                        <span>Subject:
                                                            <asp:LinkButton Text='<%# Eval("subject") %>' CommandName="Select" runat="server"
                                                                ID="Linkbutton1" />
                                                        </span>
                                                    </td>
                                                </tr>
                                            </table>
                                        </ItemTemplate>
                                    </telerik:GridTemplateColumn>
                                </Columns>
                            </MasterTableView>
                            <ClientSettings EnablePostBackOnRowClick="true">
                                <Selecting AllowRowSelect="true" />
                            </ClientSettings>
                        </telerik:RadGrid>
                    </telerik:RadPane>
                </telerik:RadSplitter>
            </telerik:RadPane>
            <telerik:RadPane ID="MessagePane" runat="server" Scrolling="None" Height="150px">
                <telerik:RadToolBar ID="MessageToolbar" runat="server" Width="100%">
                    <Items>
                        <telerik:RadToolBarButton Text="Messages" Font-Bold="true" Font-Size="16px" Font-Names="arial" />
                    </Items>
                </telerik:RadToolBar>
    <asp:DetailsView ID="MessageBody" runat="server" DataSourceID="SqlDataSource2" Font-Size="14px"
    Width="100%" Height="120px" AutoGenerateRows="false" GridLines="None">

                    <Fields>
                        <asp:BoundField DataField="Body" HeaderText="" />
                    </Fields>
                </asp:DetailsView>
            </telerik:RadPane>
        </telerik:RadSplitter>
        <asp:SqlDataSource runat="server" ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:TelerikConnectionString %>"
            SelectCommand="SELECT * FROM [email] WHERE ([date] = @date)">
            <SelectParameters>
                <asp:Parameter DefaultValue="2006-05-30" Name="date" Type="DateTime" />
            </SelectParameters>
        </asp:SqlDataSource>
        <asp:SqlDataSource ID="SqlDataSource2" ConnectionString="<%$ ConnectionStrings:TelerikConnectionString %>"
            runat="server" SelectCommand="SELECT [body] FROM [email] WHERE (([date] = @date) AND ([ID] = @ID))">
            <SelectParameters>
                <asp:Parameter DefaultValue="2006-05-30" Name="date" Type="DateTime" />
    <asp:ControlParameter ControlID="EmailGrid" DefaultValue="" Name="ID" PropertyName="SelectedValue"
    Type="Int32" />

            </SelectParameters>
        </asp:SqlDataSource>
        <!-- content end -->
        <telerik:Footer runat="server" ID="Footer1"></telerik:Footer>
        </form>
    </body>
    </html>

Get more than expected!

Take your time to truly experience the power of RadControls for ASP.NET AJAX with a free 60-day trial backed up by Telerik’s unlimited dedicated support.

Download your RadControls for ASP.NET AJAX trial and jumpstart your development with the available Getting Started resources.

If you have any questions, do not hesitate to contact us at sales@telerik.com.

Copyright 2002-2012 © Telerik. All right reserved
Telerik Inc, 201 Jones Rd, Waltham, MA 02451