This is a migrated thread and some comments may be shown as answers.

How ASP.NET page and Telerik Controls are loaded, separate thread or something else?

2 Answers 84 Views
TabStrip
This is a migrated thread and some comments may be shown as answers.
Mike
Top achievements
Rank 1
Mike asked on 22 Jan 2010, 10:29 AM
Hello,

I have faced a problem that occurs many times when I use Javascript to handle Telerik Controls in ASP.NET page.
For example if my ASP.NET page's Page_load method is trying to invoke Telerik component, let's say RadTabStrip using Javascript
code like $find("radTabStrip1.ClientID") will return null and the whole script fails.

So, when putting Javascript code with setTimeout it doen't. Code like below will usually work.

 function SelectTab(index) {
      function Set() {
       var radTabStrip1 = $find("<%=RadTabStrip1.ClientID %>");
       radTabStrip1.get_tabs().getTab(index).click();
      }
      setTimeout(Set, 1000);
     }

So, my question is that how ASP.NET page and  Telerik Components are actually loaded?
Are they running in separate parallel Threads or how? Can I do something else than putting Javascript code
into setTimeOut? setTimeOut sounds a little bit wierd.

I have faced this problem sometimes with pure ASP.NET/Telerik Applications but very often if ASP.NET/Telerik Application is running under SharePoint.

Br

Michael

2 Answers, 1 is accepted

Sort by
0
Accepted
Poul Henningsen
Top achievements
Rank 1
answered on 22 Jan 2010, 05:31 PM
Any JavaScript function named pageLoad() will automatically wireup as an Application.Load handler (basically, the client-side version of Page_Load).

Here's a sample code snippet that shows the needed approach.

<form id="form1" runat="server">   
    <asp:ScriptManager ID="ScriptManager1" runat="server">   
    </asp:ScriptManager>  
  
    <script type="text/javascript">   
    function pageLoad()   
    {   
        var myTabStrip = $find("<%= RadTabStrip1.ClientID %>")              
        var tab = myTabStrip.findTabByText("Root RadTab2");   
        tab.select();               
    }   
    </script>  
  
    <telerik:RadTabStrip ID="RadTabStrip1" runat="server" MultiPageID="RadMultiPage1">   
        <Tabs>  
            <telerik:RadTab runat="server" Text="Root RadTab1">   
            </telerik:RadTab>  
            <telerik:RadTab runat="server" Text="Root RadTab2">   
            </telerik:RadTab>  
        </Tabs>  
    </telerik:RadTabStrip>  
    <telerik:RadMultiPage ID="RadMultiPage1" runat="server">   
        <telerik:RadPageView ID="RadPageView1" runat="server">   
            RadPageView1</telerik:RadPageView>  
        <telerik:RadPageView ID="RadPageView2" runat="server">   
            RadPageView2</telerik:RadPageView>  
    </telerik:RadMultiPage>  
</form>  

pageLoad is a shortcut for the Sys.Application.load event. For details on the matter please refer to the following ASP.NET article.


0
Mike
Top achievements
Rank 1
answered on 23 Jan 2010, 05:09 PM
Thanks for your reply Poul!

Br
Michael
Tags
TabStrip
Asked by
Mike
Top achievements
Rank 1
Answers by
Poul Henningsen
Top achievements
Rank 1
Mike
Top achievements
Rank 1
Share this question
or