<%@ Control Language="C#" %> <% // TreeView.ascx // Implementation of the TreeView AJAX Control. // Copyright (c) by Matthias Hertel, http://www.mathertel.de // This work is licensed under a BSD style license. See http://www.mathertel.de/License.aspx // ----- // 03.01.2006 created by Matthias Hertel %> <script runat="server"> public string title = "root"; public string service = String.Empty; protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); if (Page.Header == null) throw new Exception("The <head> element of this page is not marked with runat='server'."); // register the JavaScripts includes without need for a Form. if (!Page.ClientScript.IsClientScriptBlockRegistered(Page.GetType(), "CommonBehaviour")) { Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "CommonBehaviour", String.Empty); ((HtmlHead)Page.Header).Controls.Add(new LiteralControl("<script type='text/javascript' src='" + Page.ResolveUrl("~/controls/jcl.js") + "'><" + "/script>\n")); } // if if (!Page.ClientScript.IsClientScriptBlockRegistered(this.GetType(), "MyBehaviour")) { Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "MyBehaviour", String.Empty); ((HtmlHead)Page.Header).Controls.Add(new LiteralControl("<script type='text/javascript' src='" + Page.ResolveUrl("~/controls/TreeView.js") + "'><" + "/script>\n")); } // if } // OnPreRender </script> <!-- Here comes the HTML code that builds the Control. --> <div id="<%=this.ClientID %>" class="TreeView" style="background-color: #cccccc" service="<%=this.service %>"> <div class="du" name="/"> <span class="ft"> <%=this.title %> </span> </div> <div class="subframe" style="display: none"> <div class='fl'> </div> </div> </div> <!-- Here comes the script code to bind the behaviour. --> <script defer="defer" type="text/javascript"> jcl.LoadBehaviour("<%=this.ClientID %>", TreeViewBehaviour); </script>
This page is part of the http://www.mathertel.de/ web site.
For updates and discussions see http://ajaxaspects.blogspot.com/.