Modality
There are scenarios in which it is very useful to use a modal RadToolTip because of the modal functionality specifics. This example demonstrates two of the most common scenarios - the following ones:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DefaultCS.aspx.cs" Inherits="Telerik.Web.Examples.ToolTip.Modality.DefaultCS" %><%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %><%@ Register TagPrefix="qsf" Namespace="Telerik.QuickStart" %><%@ Register TagPrefix="qsf" TagName="Header" Src="~/Common/Header.ascx" %><%@ Register TagPrefix="qsf" TagName="HeadTag" Src="~/Common/HeadTag.ascx" %><%@ Register TagPrefix="qsf" TagName="Footer" Src="~/Common/Footer.ascx" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <qsf:HeadTag ID="Headtag1" runat="server" /></head><body class="BODY"> <form id="Form1" method="post" runat="server"> <qsf:Header ID="Header1" runat="server" NavigationLanguage="c#" ShowSkinChooser="false" /> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> </telerik:RadScriptManager> <script type="text/javascript"> //<![CDATA[ var toHide = false; function OnClientBeforeHide(sender, args) { if (!toHide) args.set_cancel(true); } //Attach to event that will indicate when ajax request is complete Sys.WebForms.PageRequestManager.getInstance().add_beginRequest ( function (sender, args) { toHide = false; if (args.get_postBackElement().id == "Button1") { var tooltip = $find("<%=RadToolTip1.ClientID%>"); tooltip.show(); } else if (args.get_postBackElement().id == "Button2") { var tooltip = $find("<%=RadToolTip2.ClientID%>"); tooltip.show(); } } ); function GetActiveToolTip() { var tooltip = Telerik.Web.UI.RadToolTip.getCurrent(); return tooltip; } //Attach to event that will indicate when ajax request is complete Sys.WebForms.PageRequestManager.getInstance().add_endRequest ( function (sender, args) { var tooltip = GetActiveToolTip(); if (tooltip != null && tooltip.get_id() == "RadToolTip1") { toHide = true; tooltip.hide(); } } ); //]]> </script> <div class="bigModule" style="margin-bottom: 40px"> <div class="bigModuleBottom"> When you click the button below, a modal RadToolTip will show, that will "block" the page while you perform some operation (e.g. AJAX Request) and the page is unavailable for the user until the operation ends up. </div> </div> <telerik:RadToolTip ID="RadToolTip1" runat="server" Modal="true" ShowEvent="FromCode" Position="Center" RelativeTo="BrowserWindow" OnClientBeforeHide="OnClientBeforeHide" Width="140px" EnableShadow="true" HideEvent=FromCode> <img src='Images/loading.gif' alt="loading" style="margin-left: 35px;" /> </telerik:RadToolTip> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:Button ID="Button1" runat="server" Text="Simulate long AJAX request" OnClick="Button1_Click" CssClass="button" Style="display: block; float: left;" /> </ContentTemplate> </asp:UpdatePanel> <br /> <br /> <br /> <div class="bigModule" style="margin-bottom: 40px"> <div class="bigModuleBottom"> The button below opens a registration form and "blocks" the page until the user has submitted it. </div> </div> <p> <asp:Button ID="Button2" runat="server" Text="Show Login Form" CssClass="button" /> </p> <telerik:RadToolTip ID="RadToolTip2" runat="server" Modal="true" ShowEvent="FromCode" Position="Center" RelativeTo="BrowserWindow" OnClientBeforeHide="OnClientBeforeHide" EnableShadow="true" HideEvent="FromCode"> <asp:UpdatePanel runat="server" ID="UpdatePanel2"> <ContentTemplate> <asp:Panel ID="pInquiry" runat="server" Style="padding-left: 11px;"> Log in:<br /> <br /> <table> <tr> <td style="width: 100px"> UserName: <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> </td> </tr> <tr> <td style="width: 100px"> Password: <asp:TextBox ID="TextBox2" runat="server" TextMode="Password"></asp:TextBox> </td> </tr> <tr> <td style="width: 100px"> <asp:Button ID="btnLogIn" runat="server" Text="Log in" OnClick="btnLogIn_Click" CssClass="button" /> </td> </tr> <tr> <td style="width: 100px"> <asp:Label ID="lblError" Width="150px" runat="server" Visible="false" ForeColor="red" Text="Please enter username and password."></asp:Label> </td> </tr> </table> </asp:Panel> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="Button2" EventName="Click" /> </Triggers> </asp:UpdatePanel> </telerik:RadToolTip> <br /> <qsf:Footer runat="server" ID="Footer1" /> </form></body></html>
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.