Question

Treeview and frameset in ASP.NET

Asked by: bobby010606

Hi Experts,
   I have to create a help and support for my project(Help.aspx). For this i have to create a page which will be having 3 parts . the first one is Header in this I will be showing a Image with Help And Support as a text in it
The second will be the left side of the page which is the Left navigation Page (LNP) where i will be keeping a treeview which should look like this
            Page1
                  Page1.1
                  Page1.2
                            Page1.2.1
                            Page1.2.2
                            Page1.2.3
                                      Page1.2.3.1
                                      Page1.2.3.2
                                      Page1.2.3.3
                                      Page1.2.3.4
                                      Page1.2.3.5
                                      Page1.2.3.6
                            Page1.2.4
                            Page1.2.5
                            Page1.2.6
                            Page1.2.7
                            Page1.2.8
                            Page1.2.9
                  Page1.3
                  Page1.4
            Page2
            Page3
            Page4
            Page5
            Page6

The third one will be at the right side of the page where the help data which is in xml formate will be loaded here i.e. when the user clicks on the page1 in the treeview the page1 help will be displayed...And like so if the user clicks on the Page1.2.3.5 that page help should be loaded

And the most importent is when the user is on some Page like Page1.2.8...The Help.aspx should be opened with the content of that so and so page on the right side and on the left side the treeview should be shown like this

            Page1
                  Page1.1
                  Page1.2
                            Page1.2.1
                            Page1.2.2
                            Page1.2.3
                            Page1.2.4
                            Page1.2.5
                            Page1.2.6
                            Page1.2.7
                            Page1.2.8
                            Page1.2.9
                  Page1.3
                  Page1.4
            Page2
            Page3
            Page4
            Page5
            Page6


Experts please let me know which will be best way to handle this task

Please give me a sample code for wirting a treeview as i have no idea on it

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2009-11-04 at 22:53:42ID24873617
Topics

Programming for ASP.NET

,

.NET Framework 2.x

,

Microsoft Visual Basic.Net

Participating Experts
2
Points
500
Comments
30

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Feed XML elements to an ASP.NET page
    Let's say I have XML coming out of my db as so: <screenID>1 <Heading>This is Headline on page 1</Heading> <Body>This is body text on page1. Note that the text for both 'Heading' & 'Body' can have HTML markup embedded for things like <b>B...
  2. A Better ASP.NET TreeView
    Is there a better ASP.NET TreeView then what comes with VS2005 that will fill info from a database table vs xml or sitemap? I am looking for one that has the similarities to what they have on EE when posting a question.

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: bobby010606Posted on 2009-11-04 at 23:09:17ID: 25747300

My exact idea is something like MSDN.com....I am attaching a file please take it as referance ...My output should be exactly like this with my page's data

Please give me the best way to do this Experts

 

by: randhir_prasadPosted on 2009-11-05 at 02:31:33ID: 25748122

<table width="100%" border="1">
        <tr>
            <td colspan="2" height="100px">
            </td>
        </tr>
        <tr>
            <td width="20%">
                <asp:TreeView ID="TreeView1" runat="server"
                    onselectednodechanged="TreeView1_SelectedNodeChanged" >
                    <Nodes>
                        <asp:TreeNode Text="page1" Value="page1" >
                            <asp:TreeNode Text="1" Value="1">
                                <asp:TreeNode Text="1.2" Value="1.2"></asp:TreeNode>
                                <asp:TreeNode Text="1.1" Value="1.1"></asp:TreeNode>
                            </asp:TreeNode>
                            <asp:TreeNode Text="2" Value="2"></asp:TreeNode>
                            <asp:TreeNode Text="3" Value="3"></asp:TreeNode>
                        </asp:TreeNode>
                        <asp:TreeNode Text="page2" Value="page2">
                            <asp:TreeNode Text="10" Value="10"></asp:TreeNode>
                            <asp:TreeNode Text="11" Value="11"></asp:TreeNode>
                            <asp:TreeNode Text="12" Value="12"></asp:TreeNode>
                        </asp:TreeNode>
                    </Nodes>
                </asp:TreeView>
            </td>
            <td width="80%" id="helpcontent" runat="server" ></td>
        </tr>
    </table>

this should be in the .cs file:
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
    {
      //place your code to read xml and display in place of treeview1.selectedNode.Text
        helpcontent.InnerHtml= TreeView1.SelectedNode.Text;
    }



the above code sample will work exactly what u want..

 

by: PsyberionPosted on 2009-11-05 at 03:24:31ID: 25748377

Hi bobby010606,

Where is the data coming from for the structure and content of your treeview? If you have some file or database that describes what parent-child-grandchild-etc treenodes you will have then you can iterate through that and create your treeview on the fly, rather than listing the structure in your aspx page as randhir mentioned.

Unfortunately the treeview control cannot have data bound to it like other controls, i.e. you can bind a dropdown to a datatable that's been populated by a database for example and it would automatically add the options to the dropdown. But with a treeview, if you have the data somewhere then you can add the treenodes in the codebehind, in your case the .aspx.vb file.

You could use an XML file again (eg. HelpMenu.xml) for this, matching your example...

<?xml version="1.0" encoding="utf-8" ?>
<helpmenu>
    <helpitem name="Page1" data="Page1.xml">
        <helpitem name="Page1.1" data="Page1.1.xml"></helpitem>
        <helpitem name="Page1.2" data="Page1.2.xml">
            <helpitem name="Page1.2.1" data="Page1.2.1.xml"></helpitem>
            <helpitem name="Page1.2.2" data="Page1.2.2.xml"></helpitem>
            <helpitem name="Page1.2.3" data="Page1.2.3.xml">
                <helpitem name="Page1.2.3.1" data="Page1.2.3.1.xml"></helpitem>
                <helpitem name="Page1.2.3.2" data="Page1.2.3.2.xml"></helpitem>
                <helpitem name="Page1.2.3.3" data="Page1.2.3.3.xml"></helpitem>
                <helpitem name="Page1.2.3.4" data="Page1.2.3.4.xml"></helpitem>
                <helpitem name="Page1.2.3.5" data="Page1.2.3.5.xml"></helpitem>
                <helpitem name="Page1.2.3.6" data="Page1.2.3.6.xml"></helpitem>
            </helpitem>
            <helpitem name="Page1.2.4" data="Page1.2.4.xml"></helpitem>
            <helpitem name="Page1.2.5" data="Page1.2.5.xml"></helpitem>
            <helpitem name="Page1.2.6" data="Page1.2.6.xml"></helpitem>
            <helpitem name="Page1.2.7" data="Page1.2.7.xml"></helpitem>
            <helpitem name="Page1.2.8" data="Page1.2.8.xml"></helpitem>
            <helpitem name="Page1.2.9" data="Page1.2.9.xml"></helpitem>
        </helpitem>
        <helpitem name="Page1.3" data="Page1.1.xml"></helpitem>
        <helpitem name="Page1.4" data="Page1.1.xml"></helpitem>
    </helpitem>
    <helpitem name="Page1" data="Page2.xml"></helpitem>
    <helpitem name="Page1" data="Page3.xml"></helpitem>
    <helpitem name="Page1" data="Page4.xml"></helpitem>
    <helpitem name="Page1" data="Page5.xml"></helpitem>
    <helpitem name="Page1" data="Page6.xml"></helpitem>
</helpmenu>

I assumed that you would be giving meaningful names to the treenodes, rather than Page1.2.1 etc, so that's why I've included a separate name and data attributes for each node of the menu, the name attribute is to be displayed in the treeview and the data is the filename of the XML file to be loaded into the righthand pane on the page.

This way you can maintain your menu structure and content completely separately from your .aspx page. All you need in the asp page is:

<asp:TreeView ID="TreeView1" runat="server" onselectednodechanged="TreeView1_SelectedNodeChanged" />

Then in the codebehind you just need to read in the XML helpmenu file and create the treenodes on the fly.

Let me know if you need help/code on doing that last bit.

Regards,
Psyberion.

 

by: PsyberionPosted on 2009-11-05 at 03:32:28ID: 25748418

Also, I hope you're not going to use tables for layout, that is just [1] Soooo 1990's and [2] Soooo wrong.

By the way Randhir, your example after expanding all the nodes gives a tree like:

[-] Page 1
     [-] 1
              1.2
              1.1
          2
          3
[-] Page 2
          10
          11
          12

Which seems a little different than what was asked?

 

by: PsyberionPosted on 2009-11-05 at 03:34:38ID: 25748432

There's a few typo's in my example xml, where I cut and pasted rows (it would have been a lot to type out).

So the last few rows should say:

        <helpitem name="Page1.3" data="Page1.3.xml"></helpitem>
        <helpitem name="Page1.4" data="Page1.4.xml"></helpitem>
    </helpitem>
    <helpitem name="Page2" data="Page2.xml"></helpitem>
    <helpitem name="Page3" data="Page3.xml"></helpitem>
    <helpitem name="Page4" data="Page4.xml"></helpitem>
    <helpitem name="Page5" data="Page5.xml"></helpitem>
    <helpitem name="Page6" data="Page6.xml"></helpitem>

 

by: bobby010606Posted on 2009-11-05 at 04:50:56ID: 25748850

Tankx for the coment Psyberion ...let me try and post my comment

 

by: bobby010606Posted on 2009-11-05 at 04:52:58ID: 25748863

Can you please give me the help/code which i have to write on Help.aspx.vb page

 

by: bobby010606Posted on 2009-11-05 at 05:36:34ID: 25749236

Hi Psyberion .... Let me tell u what exactly i am looking for

As you know i have page1.aspx, Page2.aspx and their respective help xml pages like Page1Help.xml, Page2Help.xml and a Help.aspx page And myStyleSheet.xsl. So previously the task is when the user is on Page1.aspx and hits F1 key the Help.aspx should be loaded with Page1Help.xml ..and so with Page2.aspx and also the controle based help (i.e. when the user is focused on textbox1 and hits F1 the Help.aspx page will be loaded with textbox1 help on the top which we done by Autoscroll() in Help.aspx).....A change which i did is i have writen all the XML files in one XML file i.e. Page1help.xml and Page2help.xml is in one XML now i.e. pageHelp.XML .....So that when the user is on Page1.aspx or Page2.aspx and hits F1 only pageHelp.xml will be loaded and scrolled to the respective help contents

By using the Autoscroll() i did this any ways i also attached the code files for you to get a clear idea

And what i was asked to do is Create a Header on the top of the Help.aspx page sayong Help And Support Of XYZ Project ...and on the left side of the page i have to show the treeview structure of all the pages that are in the project like this

           Page1
                 Page1.1
                 Page1.2
                           Page1.2.1
                           Page1.2.2
                           Page1.2.3
                                     Page1.2.3.1
                                     Page1.2.3.2
                                     Page1.2.3.3
                                     Page1.2.3.4
                                     Page1.2.3.5
                                     Page1.2.3.6
                           Page1.2.4
                           Page1.2.5
                           Page1.2.6
                           Page1.2.7
                           Page1.2.8
                           Page1.2.9
                 Page1.3
                 Page1.4
           Page2
           Page3
           Page4
           Page5
           Page6

But the help content will be written only in one XML page

So when the user is on  Page1.2.3.4.aspx and hits F1 key the Help.aspx page should be opened .....And on the left side of the Help.aspx page the Treeview should be opened as above shown structure....with the Page1.2.3.4 help from the PageHelp.XML should be scrolled and shown...And the same thing when the user is focused on a perticular control........

Write now the Code file are attached below i also added the new files LNP.XML for the Treeview

Can you please tell me what is the best way to divide the help page for the treeview on the left most side and the XML content on the right side ...and the Header on the top of the page

Please let me know Psyberion if you have any questions ...Please help me

Page1.aspx
----------
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Page1.aspx.vb" Inherits="_Default" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br />
        <asp:LinkButton ID="LinkButton1" runat="server">LinkButton1</asp:LinkButton><br />
        <asp:LinkButton id="LinkButton2" runat="server">LinkButton2</asp:LinkButton>
        <asp:LinkButton id="LinkButton3" runat="server">LinkButton3</asp:LinkButton>
 
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
        <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br />
        <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox><br />
        <asp:TextBox ID="TextBox5" runat="server"></asp:TextBox><br />
        <asp:TextBox ID="TextBox6" runat="server"></asp:TextBox><br />
        <asp:TextBox ID="TextBox7" runat="server"></asp:TextBox><br />
        <asp:TextBox ID="TextBox8" runat="server"></asp:TextBox><br />
        <asp:TextBox ID="TextBox9" runat="server"></asp:TextBox><br />
        <asp:TextBox ID="TextBox10" runat="server"></asp:TextBox><br />
        <asp:TextBox ID="TextBox11" runat="server"></asp:TextBox><br />
        <asp:TextBox ID="TextBox12" runat="server"></asp:TextBox><br />
        
        
        <asp:Button ID="Button1" runat="server" Text="Button"/>
        <asp:Button ID="Button2" runat="server" Text="Button"/>
        <asp:Button ID="Button3" runat="server" Text="Button"/>
    </div>
 
        
        
        
         <!--Javascript for the F1 Key-->
      <%--  <script type ="text/javascript">
         var oHelpWindow;
 
            document.onhelp = function()  
            {
                if(oHelpWindow)
                 {
                    oHelpWindow.focus();
                 }
                  else
                 {
                     oHelpWindow = window.open('Help.aspx?id='+event.srcElement.tagName)
//                     oHelpWindow = window.open('Help.aspx')
                 }
                return false;
            }
        </script>--%>
        
        <!--Javascript for the F1 Key-->
    <script type ="text/javascript">
        var oHelpWindow;
            //function OpenHelp(type)
            function OpenHelp(id)
                {
                    try 
                        { 
                           if (event.srcElement.id)
                           {
//                          oHelpWindow = window.open("Help.aspx?type="+type);
                            oHelpWindow = window.open("Help.aspx?id="+event.srcElement.id); 
                            }
                            else
                            {
                             oHelpWindow = window.open("Help.aspx?id=Page1"); 
                            }
                        }
                    catch(e) 
                        { 
                            alert("Error opening help window: "+e.message); 
                        }
                 }
            document.onhelp = function() 
                 {
                    if (oHelpWindow) 
                        {
                            try 
                                { 
                                    oHelpWindow.focus();
                                } 
                            catch(e)
                                {
                                    OpenHelp(event.srcElement.type);
                                }
                        }
                    else 
                    {
                     OpenHelp(event.srcElement.type);
                    }
                    return false;
                  }
    </script>
 
        
    </form>
</body>
</html>
-------------------------------------------------------------------
Page1.aspx.vb
-------------
Imports System.Data
Partial Class _Default
    Inherits System.Web.UI.Page
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Label1.Text = "Help and Support Center Press F1 key for more details"
        Session("Page") = "Page1"
    End Sub
End Class
 
-------------------------------------------------------------------
Page2.aspx
------------
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Page2.aspx.vb" Inherits="Page2" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </div>
        
           <!--Javascript for the F1 Key-->
    <script type ="text/javascript">
        var oHelpWindow;
            //function OpenHelp(type)
            function OpenHelp(id)
                {
                    try 
                        { 
                           if (event.srcElement.id)
                           {
//                          oHelpWindow = window.open("Help.aspx?type="+type);
                            oHelpWindow = window.open("Help.aspx?id="+event.srcElement.id); 
                            }
                            else
                            {
                             oHelpWindow = window.open("Help.aspx?id=Page2"); 
                            }
                        }
                    catch(e) 
                        { 
                            alert("Error opening help window: "+e.message); 
                        }
                 }
            document.onhelp = function() 
                 {
                    if (oHelpWindow) 
                        {
                            try 
                                { 
                                    oHelpWindow.focus();
                                } 
                            catch(e)
                                {
                                    OpenHelp(event.srcElement.type);
                                }
                        }
                    else 
                    {
                     OpenHelp(event.srcElement.type);
                    }
                    return false;
                  }
    </script>
   
    </form>
</body>
</html>
 
-------------------------------------------------------------------
Help.aspx
---------
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Help.aspx.vb" Inherits="Help" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server" id="Head2" name="Head1">
    <title>Untitled Page</title>
    <script type="text/javascript">
        function getUrlVars()
         {
            var vars = [], hash;
            var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
            for (var i = 0; i < hashes.length; i++) 
            {
                hash = hashes[i].split('=');
                vars.push(hash[0]);
                vars[hash[0]] = hash[1];
            }
            return vars;
        }
        
	        function AutoScroll() 
        {
            var params = getUrlVars();
            window.scrollTo(0,document.getElementById(params['id']).offsetTop);
        }	
 
 
//        function AutoScroll() 
//        {
//            var params = getUrlVars();
//            switch(params['type'])
//             {
//                case "TextBox1": window.scrollTo(0,document.getElementById('TextBox1').offsetTop);
//                    break;
//                case "TextBox2": window.scrollTo(0,document.getElementById('TextBox2').offsetTop);
//                    break;
//                case "TextBox3": window.scrollTo(0,document.getElementById('TextBox3').offsetTop);
//                    break;
//                case "LinkButton": window.scrollTo(0,document.getElementById('LinkButtonSection').offsetTop);
//                    break;
//                case "submit": window.scrollTo(0,document.getElementById('ButtonSection').offsetTop);
//                    break;    
//             }
//        }
        
    </script>
 
</head>
<body onload="AutoScroll()">
    <form id="form1" runat="server">
    <asp:TreeView ID="TreeView1" runat="server" onselectednodechanged="TreeView1_SelectedNodeChanged" />
  <div>
    <asp:xml id="helpXml" runat="server"></asp:xml>
  </div>
    </form>
</body>
</html>
-------------------------------------------------------------------
Help.aspx.vb
-------------
Imports System.Data
Imports System.Xml
 
Partial Class Help
    Inherits System.Web.UI.Page
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim path As String = ""
        Dim xmlFile As String = ""
        If (Session.Item("Page") Is Nothing) Then
            'You need to create ErrorPage.xml and put details of the error in it.
            path = "ErrorPage"
        ElseIf (Session.Item("Page") IsNot Nothing) Then
            xmlFile = Session.Item("Page")
            path = xmlFile & "Help"
        End If
        'Now set the properties of the asp:xml control.
        helpXml.DocumentSource = path & ".xml"
        helpXml.TransformSource = "myStyleSheet.xsl"
    End Sub
 
    Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeView1.SelectedNodeChanged
 
    End Sub
End Class
-------------------------------------------------------------------
LNP.XML
-------
<?xml version="1.0" encoding="utf-8" ?>
 
 
<helpmenu>
  <helpitem name="Page1" data="Page1.xml">
    <helpitem name="Page1.1" data="Page1.1.xml"></helpitem>
    <helpitem name="Page1.2" data="Page1.2.xml">
      <helpitem name="Page1.2.1" data="Page1.2.1.xml"></helpitem>
      <helpitem name="Page1.2.2" data="Page1.2.2.xml"></helpitem>
      <helpitem name="Page1.2.3" data="Page1.2.3.xml">
        <helpitem name="Page1.2.3.1" data="Page1.2.3.1.xml"></helpitem>
        <helpitem name="Page1.2.3.2" data="Page1.2.3.2.xml"></helpitem>
        <helpitem name="Page1.2.3.3" data="Page1.2.3.3.xml"></helpitem>
        <helpitem name="Page1.2.3.4" data="Page1.2.3.4.xml"></helpitem>
        <helpitem name="Page1.2.3.5" data="Page1.2.3.5.xml"></helpitem>
        <helpitem name="Page1.2.3.6" data="Page1.2.3.6.xml"></helpitem>
      </helpitem>
      <helpitem name="Page1.2.4" data="Page1.2.4.xml"></helpitem>
      <helpitem name="Page1.2.5" data="Page1.2.5.xml"></helpitem>
      <helpitem name="Page1.2.6" data="Page1.2.6.xml"></helpitem>
      <helpitem name="Page1.2.7" data="Page1.2.7.xml"></helpitem>
      <helpitem name="Page1.2.8" data="Page1.2.8.xml"></helpitem>
      <helpitem name="Page1.2.9" data="Page1.2.9.xml"></helpitem>
    </helpitem>
    <helpitem name="Page1.3" data="Page1.3.xml"></helpitem>
    <helpitem name="Page1.4" data="Page1.4.xml"></helpitem>
  </helpitem>
  <helpitem name="Page2" data="Page2.xml"></helpitem>
  <helpitem name="Page3" data="Page3.xml"></helpitem>
  <helpitem name="Page4" data="Page4.xml"></helpitem>
  <helpitem name="Page5" data="Page5.xml"></helpitem>
  <helpitem name="Page6" data="Page6.xml"></helpitem>
</helpmenu>
 
I think the code should be changed as i am using only one XML page
 
-------------------------------------------------------------------
PageHelp.xml
------------
<?xml version="1.0" encoding="utf-8" ?>
 
<Page1>
  <Helptitle>Help And Support</Helptitle>
  <title>To review and download updates that apply to your computer</title>
  <page>
    <paragraph section="Page1">
      <text>Based on your Automatic Updates settings, Windows can notify you when updates that apply to your computer are ready to download. You can review each update and choose whether to download it. To help protect your computer, we recommend that you download and install all updates that apply to your computer as soon as they are available.</text>
      <br></br>
      <br></br>
      <!--<pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Ppt.bmp</pic>-->
      <pic>Images\Ppt.bmp</pic>
    </paragraph>
    <paragraph>
      <text>1. When you are notified that new updates are ready to be downloaded, click the</text><Upper> Windows Update </Upper><text>icon</text>
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Icon.bmp</pic>
      <text>that appears in the notification area.</text>
      <br></br>
      <text>2. By default, all updates are selected to be downloaded. If you do not want Windows to download an update, clear the check box beside it. </text>
      <br></br>
      <text>3. Click</text>
      <Upper> Download. </Upper>
    </paragraph>
    <paragraph>
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic><title1>Notes</title1>
      <br></br>
      <text>1. If you are using the</text><Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>Windows Update software might automatically be updated prior to applying any other updates.</text>
    </paragraph>
    <paragraph section="LinkButton1">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>LinkButton Control1 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>Windows Update software might automatically be updated prior to applying any other updates.</text>
    </paragraph>
    <paragraph section="LinkButton2">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>LinkButton Control2 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>Windows Update software might automatically be updated prior to applying any other updates.</text>
    </paragraph>
    <paragraph section="LinkButton3">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>LinkButton Control3 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>Windows Update software might automatically be updated prior to applying any other updates.</text>
    </paragraph>
    <paragraph section="TextBox1">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>TextBox Control1 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>Windows Update software might automatically be updated prior to applying any other updates. 1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30</text>
    </paragraph>
    <paragraph section="TextBox2">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>TextBox Control2 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>
        Windows Update software might automatically be updated prior to applying any other updates. 1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
      </text>
    </paragraph>
    <paragraph section="TextBox3">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>TextBox Control3 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>
        Windows Update software might automatically be updated prior to applying any other updates. 1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
      </text>
    </paragraph>
    <paragraph section="TextBox4">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>TextBox Control4 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>
        Windows Update software might automatically be updated prior to applying any other updates. 1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
      </text>
    </paragraph>
    <paragraph section="TextBox5">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>TextBox Control5 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>
        Windows Update software might automatically be updated prior to applying any other updates. 1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
      </text>
    </paragraph>
    <paragraph section="TextBox6">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>TextBox Control6 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>
        Windows Update software might automatically be updated prior to applying any other updates. 1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
      </text>
    </paragraph>
    <paragraph section="TextBox7">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>TextBox Control7 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>
        Windows Update software might automatically be updated prior to applying any other updates. 1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
      </text>
    </paragraph>
    <paragraph section="TextBox8">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>TextBox Control8 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>
        Windows Update software might automatically be updated prior to applying any other updates. 1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
      </text>
    </paragraph>
    <paragraph section="TextBox9">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>TextBox Control9 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>
        Windows Update software might automatically be updated prior to applying any other updates. 1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
      </text>
    </paragraph>
    <paragraph section="TextBox10">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>TextBox Control10 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>
        Windows Update software might automatically be updated prior to applying any other updates. 1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
      </text>
    </paragraph>
    <paragraph section="TextBox11">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>TextBox Control11 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>
        Windows Update software might automatically be updated prior to applying any other updates. 1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
      </text>
    </paragraph>
    <paragraph section="TextBox12">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>TextBox Control12 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>
        Windows Update software might automatically be updated prior to applying any other updates. 1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
      </text>
    </paragraph>
    
    <paragraph section="Button1">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>Button Control1 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>
        Windows Update software might automatically be updated prior to applying any other updates.The Mutual Broadcasting System was an American radio network, in operation from 1934 to 1999. Of the four national networks of American radio's classic era, Mutual had for decades the largest number of affiliates but the least certain financial position. In the golden age of U.S. radio drama, the network was best known as the original home of The Lone Ranger and The Adventures of Superman and as the long-time radio residence of The Shadow. For many years, it was a national broadcaster for Major League Baseball, including the All-Star Game and World Series, and for Notre Dame football. From the mid-1930s and for decades after, Mutual ran a highly respected news service accompanied by a variety of popular commentary shows. Toward the end of its run as a major programmer, it introduced the country to Larry King. For the first 18 years of its existence, Mutual was owned and operated as a cooperative, setting the network apart from its competitors: Mutual's members shared their own original programming, transmission and promotion expenses, and advertising revenues.that the Diu Fort (pictured) in India was voted one of seven wonders of Portuguese colonialism in an opinion poll in Portugal?
        ... that Germany's Federal Minister of the Interior Werner Maihofer resigned after Der Spiegel uncovered an illegal wiretapping of physicist Klaus Traube?
        ... that the Phosphorite War is regarded in Estonia as a catalyst that led to the dissolution of the Soviet regime?
        ... that Ritchie Yorke instigated and organized the first political meeting between a pop star and a prime minister, between John Lennon and Pierre Trudeau in 1969?
        ... that the Salem, New York, historic district was the site of one of the earliest churches built in New York north of Albany?
        ... that despite the escalating human-elephant conflict number of elephants increased in the dry zone of Sri Lanka and 211 individuals were counted in Kaudulla National Park?
        ... that PNC Financial Services bought National City Corp using TARP funds only hours after accepting the funds while National City itself was denied funds?
        ... that the annual Emsley Carr Mile was created to encourage athletes to break the four-minute mile, but by the second race in 1954, Roger Bannister had already broken it?
        NASA's Ares I-X (pictured), the first test flight in the Ares I program, is launched successfully from the Kennedy Space Center.
        A car bomb in Peshawar, Pakistan, kills at least 106 people and injures more than 215 others in the city's deadliest attack of 2009.
        Businessman Arcadi Gaydamak and 35 others are convicted of involvement in a scandal surrounding the illegal sale of arms to Angola.
        The Church of Scientology is convicted of organized fraud in France.
        Jurelang Zedkaia is elected President of the Marshall Islands.
        Zine El Abidine Ben Ali wins a fifth term as President of Tunisia.
        Bomb blasts kill at least 155 people and injure 500 others in central Baghdad, Iraq.
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
      </text>
    </paragraph>
    <paragraph section="Button2">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>Button Control2 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>
        Windows Update software might automatically be updated prior to applying any other updates.The Mutual Broadcasting System was an American radio network, in operation from 1934 to 1999. Of the four national networks of American radio's classic era, Mutual had for decades the largest number of affiliates but the least certain financial position. In the golden age of U.S. radio drama, the network was best known as the original home of The Lone Ranger and The Adventures of Superman and as the long-time radio residence of The Shadow. For many years, it was a national broadcaster for Major League Baseball, including the All-Star Game and World Series, and for Notre Dame football. From the mid-1930s and for decades after, Mutual ran a highly respected news service accompanied by a variety of popular commentary shows. Toward the end of its run as a major programmer, it introduced the country to Larry King. For the first 18 years of its existence, Mutual was owned and operated as a cooperative, setting the network apart from its competitors: Mutual's members shared their own original programming, transmission and promotion expenses, and advertising revenues.that the Diu Fort (pictured) in India was voted one of seven wonders of Portuguese colonialism in an opinion poll in Portugal?
        ... that Germany's Federal Minister of the Interior Werner Maihofer resigned after Der Spiegel uncovered an illegal wiretapping of physicist Klaus Traube?
        ... that the Phosphorite War is regarded in Estonia as a catalyst that led to the dissolution of the Soviet regime?
        ... that Ritchie Yorke instigated and organized the first political meeting between a pop star and a prime minister, between John Lennon and Pierre Trudeau in 1969?
        ... that the Salem, New York, historic district was the site of one of the earliest churches built in New York north of Albany?
        ... that despite the escalating human-elephant conflict number of elephants increased in the dry zone of Sri Lanka and 211 individuals were counted in Kaudulla National Park?
        ... that PNC Financial Services bought National City Corp using TARP funds only hours after accepting the funds while National City itself was denied funds?
        ... that the annual Emsley Carr Mile was created to encourage athletes to break the four-minute mile, but by the second race in 1954, Roger Bannister had already broken it?
        NASA's Ares I-X (pictured), the first test flight in the Ares I program, is launched successfully from the Kennedy Space Center.
        A car bomb in Peshawar, Pakistan, kills at least 106 people and injures more than 215 others in the city's deadliest attack of 2009.
        Businessman Arcadi Gaydamak and 35 others are convicted of involvement in a scandal surrounding the illegal sale of arms to Angola.
        The Church of Scientology is convicted of organized fraud in France.
        Jurelang Zedkaia is elected President of the Marshall Islands.
        Zine El Abidine Ben Ali wins a fifth term as President of Tunisia.
        Bomb blasts kill at least 155 people and injure 500 others in central Baghdad, Iraq.
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
      </text>
    </paragraph>
    <paragraph section="Button3">
      <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
      <title1>Button Control3 Notes</title1>
      <br></br>
      <text>1. If you are using the</text>
      <Upper> Automatic (recommended) </Upper>
      <text>
        setting, Windows automatically downloads important updates as soon as they are available. You are not notified or interrupted during the process.
      </text>
      <br></br>
      <text>
        Windows Update software might automatically be updated prior to applying any other updates.The Mutual Broadcasting System was an American radio network, in operation from 1934 to 1999. Of the four national networks of American radio's classic era, Mutual had for decades the largest number of affiliates but the least certain financial position. In the golden age of U.S. radio drama, the network was best known as the original home of The Lone Ranger and The Adventures of Superman and as the long-time radio residence of The Shadow. For many years, it was a national broadcaster for Major League Baseball, including the All-Star Game and World Series, and for Notre Dame football. From the mid-1930s and for decades after, Mutual ran a highly respected news service accompanied by a variety of popular commentary shows. Toward the end of its run as a major programmer, it introduced the country to Larry King. For the first 18 years of its existence, Mutual was owned and operated as a cooperative, setting the network apart from its competitors: Mutual's members shared their own original programming, transmission and promotion expenses, and advertising revenues.that the Diu Fort (pictured) in India was voted one of seven wonders of Portuguese colonialism in an opinion poll in Portugal?
        ... that Germany's Federal Minister of the Interior Werner Maihofer resigned after Der Spiegel uncovered an illegal wiretapping of physicist Klaus Traube?
        ... that the Phosphorite War is regarded in Estonia as a catalyst that led to the dissolution of the Soviet regime?
        ... that Ritchie Yorke instigated and organized the first political meeting between a pop star and a prime minister, between John Lennon and Pierre Trudeau in 1969?
        ... that the Salem, New York, historic district was the site of one of the earliest churches built in New York north of Albany?
        ... that despite the escalating human-elephant conflict number of elephants increased in the dry zone of Sri Lanka and 211 individuals were counted in Kaudulla National Park?
        ... that PNC Financial Services bought National City Corp using TARP funds only hours after accepting the funds while National City itself was denied funds?
        ... that the annual Emsley Carr Mile was created to encourage athletes to break the four-minute mile, but by the second race in 1954, Roger Bannister had already broken it?
        NASA's Ares I-X (pictured), the first test flight in the Ares I program, is launched successfully from the Kennedy Space Center.
        A car bomb in Peshawar, Pakistan, kills at least 106 people and injures more than 215 others in the city's deadliest attack of 2009.
        Businessman Arcadi Gaydamak and 35 others are convicted of involvement in a scandal surrounding the illegal sale of arms to Angola.
        The Church of Scientology is convicted of organized fraud in France.
        Jurelang Zedkaia is elected President of the Marshall Islands.
        Zine El Abidine Ben Ali wins a fifth term as President of Tunisia.
        Bomb blasts kill at least 155 people and injure 500 others in central Baghdad, Iraq.
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
        1268  Conradin, the last Duke of Swabia, was beheaded in Naples after failing to reclaim Sicily for the House of Hohenstaufen from Charles of Anjou.
        1787  The opera Don Giovanni, based on the legendary fictional libertine Don Juan and composed by Wolfgang Amadeus Mozart, premiered in the Estates Theatre in Prague.
        1923  Mustafa Kemal Atatürk (pictured) became the first President of the Republic of Turkey, a new nation founded from remnants of the Ottoman Empire.
        1929  A catastrophic downturn in the New York Stock Exchange on "Black Tuesday" set off the Great Depression, triggering a chain of bankruptcies and a worldwide economic depression.
        1998  The Truth and Reconciliation Commission presented its report on Apartheid in South Africa, condemning both the Apartheid Government and the African National Congress for committing atrocities.
        More anniversaries: October 28  October 29  October 30
      </text>
    </paragraph>
    <br></br>
    
    
    <paragraph section="Page2">
    <Pagetitle>To install available updates</Pagetitle>
    </paragraph>
    <paragraph>
        <text>1. When the Windows Update icon</text>
        <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Icon.bmp</pic>
        <text>appears in the notification area, or when you are notified that updates are ready to install, click the icon.</text>
        <br></br>
        <text>To install all available updates, click</text>
        <Upper> Express install (Recommended) </Upper>
        <text>, or, to choose which downloads to install, click </text>
        <Upper> Custom install (Advanced).</Upper>
        <br></br>
        <text>Windows notifies you when the updates are installed. Windows will also notify you if you need to accept an End User License Agreement (EULA) or restart your computer to complete the installation process.</text>
        <br></br>
      </paragraph>
      <paragraph>
        <pic>C:\Documents and Settings\q_app_svc\My Documents\Visual Studio 2005\WebSites\xmlexample\Notes.bmp</pic>
        <title1>Notes</title1>
        <br></br>
        <text>1. Windows might prompt you to restart your computer after installing certain updates.</text>
        <textarielfont> Please restart your computer when prompted;</textarielfont>
        <text>otherwise, your computer might not work properly. </text>
        <br></br>
        <text>2. If you are using the</text>
        <Upper> Automatic (recommended) </Upper>
        <text>
          setting, Windows automatically installs important updates on the schedule that you selected. You are not notified or interrupted during the process unless you need to accept an End User License Agreement (EULA) or restart your computer.
        </text>
        <br></br>
        <text>3.Windows Update software might automatically be updated prior to applying any other updates. </text>
      </paragraph>
  </page>
</Page1>
 
-------------------------------------------------------------------
myStyleSheet.xsl
----------------
<?xml version="1.0" encoding="utf-8"?>
 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   
  <xsl:template match="/">
  <div style="font-family: sans-serif;font-size:1em;font-weight:bold;">
      <xsl:value-of select="*/title"/>
    </div>
   <xsl:for-each select="*/page/paragraph">
      <p>
        <xsl:attribute name="id">
          <xsl:value-of select="@section"/>
        </xsl:attribute>
        <xsl:for-each select="*">
          <xsl:choose>
            <xsl:when test="self::Pagetitle">
              <div style="font-family: sans-serif;font-size:0.9em;font-weight:bold;">
                <xsl:value-of select="."/>
              </div>
            </xsl:when>
          <xsl:when test="self::pic">
              <img>
                <xsl:attribute name="src">
                  <xsl:value-of select="."/>
                </xsl:attribute>
              </img>
            </xsl:when>
            <xsl:when test="self::Upper">
              <SPAN STYLE="font-weight:bold;font-size:0.8em;">
                <xsl:value-of select="."/>
              </SPAN>
              <!--<div style="font-weight:bold;">
                <xsl:value-of select="."/>
              </div>-->
            </xsl:when>
            <xsl:when test="self::text">
              <xsl:value-of select="."/>
            </xsl:when>
            <xsl:when test="self::title1">
              <SPAN STYLE="font-family: sans-serif;font-size:0.7em;font-weight:bold;">
                <xsl:value-of select="."/>
              </SPAN>
            </xsl:when>
            <xsl:when test="self::br">
              <BR/>
            </xsl:when>
            <xsl:when test="self::textarielfont">
              <SPAN STYLE="font-family: arial;">
                <xsl:value-of select="."/>
              </SPAN>
            </xsl:when>
            <xsl:otherwise>
              [Invalid xml tag]
            </xsl:otherwise>
          </xsl:choose>
        </xsl:for-each>
      </p>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>
                                              
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
411:
412:
413:
414:
415:
416:
417:
418:
419:
420:
421:
422:
423:
424:
425:
426:
427:
428:
429:
430:
431:
432:
433:
434:
435:
436:
437:
438:
439:
440:
441:
442:
443:
444:
445:
446:
447:
448:
449:
450:
451:
452:
453:
454:
455:
456:
457:
458:
459:
460:
461:
462:
463:
464:
465:
466:
467:
468:
469:
470:
471:
472:
473:
474:
475:
476:
477:
478:
479:
480:
481:
482:
483:
484:
485:
486:
487:
488:
489:
490:
491:
492:
493:
494:
495:
496:
497:
498:
499:
500:
501:
502:
503:
504:
505:
506:
507:
508:
509:
510:
511:
512:
513:
514:
515:
516:
517:
518:
519:
520:
521:
522:
523:
524:
525:
526:
527:
528:
529:
530:
531:
532:
533:
534:
535:
536:
537:
538:
539:
540:
541:
542:
543:
544:
545:
546:
547:
548:
549:
550:
551:
552:
553:
554:
555:
556:
557:
558:
559:
560:
561:
562:
563:
564:
565:
566:
567:
568:
569:
570:
571:
572:
573:
574:
575:
576:
577:
578:
579:
580:
581:
582:
583:
584:
585:
586:
587:
588:
589:
590:
591:
592:
593:
594:
595:
596:
597:
598:
599:
600:
601:
602:
603:
604:
605:
606:
607:
608:
609:
610:
611:
612:
613:
614:
615:
616:
617:
618:
619:
620:
621:
622:
623:
624:
625:
626:
627:
628:
629:
630:
631:
632:
633:
634:
635:
636:
637:
638:
639:
640:
641:
642:
643:
644:
645:
646:
647:
648:
649:
650:
651:
652:
653:
654:
655:
656:
657:
658:
659:
660:
661:
662:
663:
664:
665:
666:
667:
668:
669:
670:
671:
672:
673:
674:
675:
676:
677:
678:
679:
680:
681:
682:
683:
684:
685:
686:
687:
688:
689:
690:
691:
692:
693:
694:
695:
696:
697:
698:
699:
700:
701:
702:
703:
704:
705:
706:
707:
708:
709:
710:
711:
712:
713:
714:
715:
716:
717:
718:
719:
720:
721:
722:
723:
724:
725:
726:
727:
728:
729:
730:
731:
732:
733:
734:
735:
736:
737:
738:
739:
740:
741:
742:
743:
744:
745:
746:
747:
748:
749:
750:
751:
752:
753:
754:
755:
756:
757:
758:
759:
760:
761:
762:
763:
764:
765:
766:
767:
768:
769:
770:
771:
772:
773:
774:
775:
776:
777:
778:
779:
780:
781:
782:
783:
784:
785:
786:
787:
788:
789:
790:
791:
792:
793:
794:
795:
796:
797:
798:
799:
800:
801:
802:
803:
804:
805:
806:
807:
808:
809:
810:
811:
812:
813:
814:
815:
816:
817:
818:
819:
820:
821:
822:
823:
824:
825:
826:
827:
828:
829:
830:
831:
832:
833:
834:
835:
836:
837:
838:
839:
840:
841:
842:
843:
844:
845:
846:
847:
848:
849:
850:
851:
852:
853:
854:
855:
856:
857:
858:
859:
860:
861:
862:
863:
864:
865:
866:
867:
868:
869:
870:
871:
872:
873:
874:
875:
876:
877:
878:
879:
880:
881:
882:
883:
884:
885:
886:
887:
888:
889:
890:
891:
892:
893:
894:
895:
896:
897:
898:
899:
900:
901:
902:
903:
904:
905:
906:
907:
908:
909:
910:
911:
912:
913:
914:
915:
916:
917:
918:
919:
920:
921:
922:
923:

Select allOpen in new window

 

by: PsyberionPosted on 2009-11-05 at 07:31:46ID: 25750512

Right, let me just see if I understand this correctly, because I could be getting confused between pages and form controls with regards to the help pages.

[A] You have some pages with some controls on and if you press F1 it will popup a new window and pass it the currently selected control. (E.g. you're on Page1.aspx and you select textbox1 and press F1.)

[B] The help page that pops up will load just the one xml help file called "PageHelp.xml" on the right hand side, and it will scroll to the relevant page section for the page you were on and to the details for the control that was active when F1 was pressed. (E.g. if you were on Page1.aspx and textbox3 then it scrolls to the textbox3 section in the Page1 section of the PageHelp.xml file, if you were on Page7.aspx and button5 then it scrolls to the button5 section in the Page7 section of the PageHelp.xml file.

Now the questions :)
[1] Is the tree menu related to the structure of the websites pages? i.e. Page1 has links to navigate to Page1.1, Page1.2, Page1.3 etc... and Page1.2 has links to Page1.2.1, Page1.2.2, etc...

[2] So far you have only specified listing Pages in the tree menu, so you are not going to include entries for the controls in the tree menu? I.e. for the textboxes, buttons, listboxes, etc.

[3] When the user clicks on a page listed in the tree menu, you want the PageHelp.xml details on the right to then scroll to the relevant page section?

regards,
Psyberion.


 

by: bobby010606Posted on 2009-11-05 at 22:03:00ID: 25756902

Ya Psyberion. you got my point... I will answer to all of your questions one by one

[A]You have some pages with some controls on and if you press F1 it will popup a new window and pass it the currently selected control. (E.g. you're on Page1.aspx and you select textbox1 and press F1.)

Yes you are right, And on the left side of the Help.aspx page the Treeview should expand autonmatically and show
For example if the user clicks on F1 key when the focus is on a textbox of Page1.2.8. As you said a new window should open (i.e. Help.aspx page)and on the right side of the Help.aspx page the PageHelp.xml should scroll to the relevant textbox section of the Page1.2.8....And on the left side os the Help.aspx page the treeview should show like this

Page1
       Page1.1
       Page1.2
                 Page1.2.1
                 Page1.2.2
                 Page1.2.3
                 Page1.2.4
                 Page1.2.5
                 Page1.2.6
                 Page1.2.7
                 Page1.2.8
                 Page1.2.9
      Page1.3
      Page1.4
Page2
Page3
Page4
Page5
Page6

[B] The help page that pops up will load just the one xml help file called "PageHelp.xml" on the right hand side, and it will scroll to the relevant page section for the page you were on and to the details for the control that was active when F1 was pressed. (E.g. if you were on Page1.aspx and textbox3 then it scrolls to the textbox3 section in the Page1 section of the PageHelp.xml file, if you were on Page7.aspx and button5 then it scrolls to the button5 section in the Page7 section of the PageHelp.xml file.

Yes exactly

Questions:
[1] Is the tree menu related to the structure of the websites pages? i.e. Page1 has links to navigate to Page1.1, Page1.2, Page1.3 etc... and Page1.2 has links to Page1.2.1, Page1.2.2, etc...

No all are different pages....The problem is Psyberion my Teamlead asked to develop this Help module..... As iam having less experience i am not allowed to touch the project rite now......So i have no clue abt this question lets consider all are different pages i think that makes our work simpler.......

[2] So far you have only specified listing Pages in the tree menu, so you are not going to include entries for the controls in the tree menu? I.e. for the textboxes, buttons, listboxes, etc.

No only pages like Page1, Page2,.....ect No controls will be included in the Treemenu

[3] When the user clicks on a page listed in the tree menu, you want the PageHelp.xml details on the right to then scroll to the relevant page section?

Yes Excatly Psyberion.




 

by: bobby010606Posted on 2009-11-05 at 23:00:58ID: 25757169

And also what please let me know what is the best way to divide the page ....table or frameset....

 

by: bobby010606Posted on 2009-11-06 at 02:28:13ID: 25757941

Psyberion please help me

 

by: bobby010606Posted on 2009-11-06 at 03:33:37ID: 25758236

Psyberion YOU THERE

 

by: bobby010606Posted on 2009-11-06 at 05:11:33ID: 25758749

Psyberion i am waiting for your reply.......please help me

 

by: PsyberionPosted on 2009-11-06 at 16:40:43ID: 25764369

Sorry, real life getting in the way as usual...

I'll hopefully post something soon.

 

by: PsyberionPosted on 2009-11-06 at 19:40:00ID: 25764876

I've created a new project and inserted the files you listed and I've made some changes as described below.

In the javascript of Page1.aspx you've got a function defined for the onhelp event of the document, the 2nd one will replace the first so I removed the first. I like to keep the script separate from the aspx file too, so I've put it in a separate script file called "Pages.js" because then this 1 file can be included in every Page and you don't want to have to cut and paste it into every Page each time you need to change the script. So Page1.aspx now just has <script type="text/javascript" src="Pages.js"></script> in the head section and no more javascript cluttering up the html.

I've left the Session("Page") = "Page1" in the codebehind (Page1.aspx.vb) because we still need this even though we don't need it to specify which xml file we are loading, because we are only loading "PageHelp.xml" now. But we need it so we know which section of PageHelp.xml the data should scroll to.

In Page2.aspx I removed all the script and just added our new <script type="text/javascript" src="Pages.js"></script> tag, which you'll need to put on every page, except the Help.aspx page of course.

I copied Page1.aspx.vb to Page2.aspx.vb and just changed the page session value from Page1 to Page2.

I also moved the javascript out of Help.aspx and put it in it's own "Help.js" javascript file and linked it into the page with <script type="text/javascript" src="Help.js"></script>

Now the interesting bit... placing the stuff in the popup help window. Table is never the way to go with dividing a page up, tables are for tables of data, not layout of page content, I wouldn't go with frameset either, it's not necessary, I'd stick with using <div></div>'s and CSS to style and position them. The first bit is easy, each of the header, left navigation page (LNP) and help info sections can be wrapped in <div></div>'s each with a different class attribute to distinguish from each other. Then you just need to add a tag in the head section to include a CSS file. Apart from entering whatever you want into the header. that's it, that's your html for Help.aspx, how cool and neat and tidy is that?...

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Help.aspx.vb" Inherits="Help" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
    <link href="Help.css" rel="Stylesheet" type="text/css" />
    <script type="text/javascript" src="Help.js"></script>
</head>
<body onload="AutoScroll()">
    <form id="form1" runat="server">
        <asp:HiddenField ID="pageID" runat="server" />
        <div class="pageHeader">
            <!-- Page header content goes here -->
            Help Page
        </div>
        <div class="lnpSection">
            <asp:XmlDataSource ID="lnpDS" runat="server" DataFile="LNP.xml" XPath="/helpmenu/helpitem"/>
            <asp:TreeView ID="lnpMenu" runat="server" DataSourceID="lnpDS" onselectednodechanged="lnpMenu_SelectedNodeChanged">
                <DataBindings>
                    <asp:TreeNodeBinding DataMember="helpitem" TextField="name" ValueField="data" />
                </DataBindings>
            </asp:TreeView>
        </div>
        <div class="helpSection">
            <asp:xml id="helpXml" runat="server"></asp:xml>
        </div>
    </form>
</body>
</html>

All you then need to do is add some CSS for each of the classes (pageHeader, lnpSection and helpSection) to position and format them how you want.

The lnpSection has had some new tags added in order to pump the LNP.xml files data into the treeview control. First of all the asp:XmlDataSource provides a datasource for the treeview and specifies the xml file name and an xpath reference to the records we are interested in, i.e. the helpitem records under the helpmenu root item. I've renamed the treeview to lnpMenu so it's more meaningful than TreeView1, and I've added the datasource to it (DataSourceID="lnpDS"). The TreeNodeBinding tag lets us specify what part of the data will be displayed in the treeview and in this case what value they will have. I specified the name attribute to be the data that should be displayed and the data attribute as the value.

In the Help.aspx.vb code behind I've changed things a little and added new stuff. Since there's no need to create xml filenames from a session variable then we just simply set the filename as ErrorPage.xml if the session variable has not been set, and it should be if the user has navigated from one of the pages, or set it as PageHelp.xml. Then I set the helpXml's documentsource and transformsource as before. After that the treeview just needs a databind call to get the code to put the LNP.xml files data into the treeview. Then finally we set the value of a hidden control on the page to the name of the page we came from. This is so that the javascript in the help popup will know which section of the PageHelp.xml file to scroll to, eg. Page1 Page3.2.4, etc.

In the javascript in Help.js you can then reference which page the user came from with document.getElementById("pageID").value.

So all you need to do now is write the bit of javascript to scroll the treeview's <div> and the Help info <div> to the right place.But it's now 3:25am and I need sleeeeeeeeeep....

Anyway I've included all the files of the entire project that I created from your listings and then modified as described above.

Regards,
Psyberion.

Page1.aspx
----------
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Page1.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript" src="Pages.js"></script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br />
            <asp:LinkButton ID="LinkButton1" runat="server">LinkButton1</asp:LinkButton><br />
            <asp:LinkButton id="LinkButton2" runat="server">LinkButton2</asp:LinkButton>
            <asp:LinkButton id="LinkButton3" runat="server">LinkButton3</asp:LinkButton>
     
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox5" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox6" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox7" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox8" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox9" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox10" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox11" runat="server"></asp:TextBox><br />
            <asp:TextBox ID="TextBox12" runat="server"></asp:TextBox><br />
            
            <asp:Button ID="Button1" runat="server" Text="Button"/>
            <asp:Button ID="Button2" runat="server" Text="Button"/>
            <asp:Button ID="Button3" runat="server" Text="Button"/>
        </div>
    </form>
</body>
</html> 
Page1.aspx.vb
-------------
Imports System.Data
Partial Class _Default
    Inherits System.Web.UI.Page 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Label1.Text = "Help and Support Center Press F1 key for more details"
        Session("Page") = "Page1"
    End Sub
End Class 
Page2.aspx
----------
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Page2.aspx.vb" Inherits="Page2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript" src="Pages.js"></script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        </div>
    </form>
</body>
</html>
 
Page2.aspx.vb
-------------
Partial Class Page2
    Inherits System.Web.UI.Page 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Label1.Text = "Help and Support Center Press F1 key for more details"
        Session("Page") = "Page2"
    End Sub 
End Class 
Pages.js
--------
//Javascript for the F1 Key
var oHelpWindow;
document.onhelp = function() {
    if (oHelpWindow) {
        try {
            oHelpWindow.focus();
        }
        catch (e) {
            OpenHelp(event.srcElement.type);
        }
    }
    else {
        OpenHelp(event.srcElement.type);
    }
    return false;
} 
//function OpenHelp(type)
function OpenHelp(id) {
    try {
        if (event.srcElement.id) {
            oHelpWindow = window.open("Help.aspx?id=" + event.srcElement.id, "Help", "width=600,height=400");
        }
        else {
            oHelpWindow = window.open("Help.aspx", "Help", "width=600,height=400");
        }
    }
    catch (e) {
        alert("Error opening help window: " + e.message);
    }
} 
Help.aspx
---------
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Help.aspx.vb" Inherits="Help" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
    <link href="Help.css" rel="Stylesheet" type="text/css" />
    <script type="text/javascript" src="Help.js"></script>
</head>
<body onload="AutoScroll()">
    <form id="form1" runat="server">
        <asp:HiddenField ID="pageID" runat="server" />
        <div class="pageHeader">
            <!-- Page header content goes here -->
            Help Page
        </div>
        <div id="lnpDiv" class="lnpSection">
            <asp:XmlDataSource ID="lnpDS" runat="server" DataFile="LNP.xml" XPath="/helpmenu/helpitem"/>
            <asp:TreeView ID="lnpMenu" runat="server" DataSourceID="lnpDS" onselectednodechanged="lnpMenu_SelectedNodeChanged">
                <DataBindings>
                    <asp:TreeNodeBinding DataMember="helpitem" TextField="name" ValueField="data" />
                </DataBindings>
            </asp:TreeView>
        </div>
        <div id="helpDiv" class="helpSection">
            <asp:xml id="helpXml" runat="server"></asp:xml>
        </div>
    </form>
</body>
</html> 
Help.aspx.vb
------------
Imports System.Data
Imports System.Xml 
Partial Class Help
    Inherits System.Web.UI.Page 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim fileName As String = String.Empty
        If (Session.Item("Page") Is Nothing) Then
            'You need to create ErrorPage.xml and put details of the error in it.
            fileName = "ErrorPage.xml"
        ElseIf (Session.Item("Page") IsNot Nothing) Then
            fileName = "PageHelp.xml"
        End If
        'Now set the properties of the asp:xml control.
        helpXml.DocumentSource = MapPath(fileName)
        helpXml.TransformSource = MapPath("myStyleSheet.xsl")
        'Bind the treeview to the xml datasource set up in the html
        lnpMenu.DataBind()
        'Insert the page number into the page so it can be picked up by the javascript for scrolling.
        pageID.Value = Session.Item("Page")
    End Sub 
    Protected Sub lnpMenu_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnpMenu.SelectedNodeChanged 
    End Sub
End Class 
Help.css
--------
body {
    padding: 0px;
    margin: 0px;
} 
.pageHeader {
    margin: 0px;
    padding: 4px 4px 2px 4px;
    border: 1px solid #000;
} 
.lnpSection {
    margin: 0px;
    padding: 2px 2px 4px 4px;
    border: 1px solid #000;
    float: left;
    width: 250px;
    height: 360px;
    overflow: scroll;
} 
.helpSection {
    margin: 0px;
    padding: 2px 4px 4px 2px;
    border: 1px solid #000;
    float: right;
    width: 330px;
    height: 360px;
    overflow: scroll;
} 
Help.js
-------
function getUrlVars() {
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for (var i = 0; i < hashes.length; i++) {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
} 
function AutoScroll() {
    var params = getUrlVars();
    // Just need to specify how the menu and info divs need to scroll to show the required items.
    //document.getElementById("helpDiv").scrollTo(0, document.getElementById(params['id']).offsetTop);
    //document.getElementById("lnpDiv").scrollTo(0, 50);
} 
Note: The .xml files and .xsl file have not been changed at all (as far as I remember!)
                                              
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:

Select allOpen in new window

 

by: bobby010606Posted on 2009-11-08 at 23:52:14ID: 25774037

Hi Psyberion. Thankx a lot for your reply .....i will try this and keep a comment in 3 hrs.....

 

by: bobby010606Posted on 2009-11-09 at 02:39:35ID: 25774729

Ya Psyberion.... I think we are close to my task.....

Thankx a lot i can finally see the Treeview in the as per i needed

One chang to the code i did is to display the names of the child nodes i added

<DataBindings>
                   <asp:TreeNodeBinding DataMember="helpitem" TextField="name" ValueField="data" />
                   <asp:TreeNodeBinding DataMember="helpitemchild" TextField="name" ValueField="data" />
               </DataBindings>

I really like the consept of having seperate js files for the JavaScript.... there are three main things that nead to be done

1. The Control-based Help and the Page-based help is not working                                    i.e. if the user focus is on a textbox in the page1.aspx and the user hits F1 key the Help window is showing up but it is not redirecting to the textbox section in that pagehelp.xml    

And when the user is on page2.aspx and hits F1 Key the Help window is poping up and not showing the Page2 help section in the PageHelp.xml

2. After hitting F1 Key on Page1.aspc the Help window is showing up with the Treeview expanded completly like this

         - Page1
                 Page1.1
              - Page1.2
                           Page1.2.1
                           Page1.2.2
                         - Page1.2.3
                                     Page1.2.3.1
                                     Page1.2.3.2
                                     Page1.2.3.3
                                     Page1.2.3.4
                                     Page1.2.3.5
                                     Page1.2.3.6
                           Page1.2.4
                           Page1.2.5
                           Page1.2.6
                           Page1.2.7
                           Page1.2.8
                           Page1.2.9
                 Page1.3
                 Page1.4
           Page2
           Page3
           Page4
           Page5
           Page6

But it should show like this

         + Page1
           Page2
           Page3
           Page4
           Page5
           Page6

When the user hits on "+ Page1" it should expand like this

         - Page1
                 Page1.1
              + Page1.2
                 Page1.3
                 Page1.4
           Page2
           Page3
           Page4
           Page5
           Page6
When the user hits on "+ Page1.2" it should expand like this

         - Page1
                 Page1.1
              - Page1.2
                           Page1.2.1
                           Page1.2.2
                         + Page1.2.3
           Page2
           Page3
           Page4
           Page5
           Page6

The same thing when the user after hitting on "Page1.2" and if hits Page2 in the Tree the childnodes of the page1 should colapse and the tree should show like this


         + Page1
           Page2
           Page3
           Page4
           Page5
           Page6  

3. And also if the user is on Page2.aspx and hits F1 key the Help window should be opend with the Page2 section scrolled and the treeview shown like this

         + Page1
           Page2
           Page3
           Page4
           Page5
           Page6

 

Please help me Psyberion

 

by: PsyberionPosted on 2009-11-09 at 04:14:54ID: 25775155

Indeed, as I said "So all you need to do now is write the bit of javascript to scroll the treeview's <div> and the Help info <div> to the right place.", the only thing I should add to that it also javascript to show/hide the necessary parts of the treeview.

I'm not that familiar with the treeview control, so I'll have to delve further to see how this can be done and try it out myself.

 

by: bobby010606Posted on 2009-11-09 at 04:23:36ID: 25775211

Psyberion please take your time...and please help me Psyberion

 

by: bobby010606Posted on 2009-11-09 at 06:55:31ID: 25776384

Psyberion any luck dude plz help me yarrr.......get me close

 

by: bobby010606Posted on 2009-11-09 at 22:28:03ID: 25782868

Psyberion plz help me yarrrr

 

by: bobby010606Posted on 2009-11-10 at 02:20:23ID: 25783957

Hi Psyberion  i really appreciate your efforts man...you brought me close ......Please help me

 

by: bobby010606Posted on 2009-11-10 at 11:04:53ID: 25788553

I Psyberion hope you are bit busy...I am all over the net to find this Javascript only u fallowed all through my task Plz solve this Psyberion

 

by: bobby010606Posted on 2009-11-11 at 00:45:16ID: 25793232

Hi Psyberion the control based help and the Page based help is working fine now ...
What i did is i have taken a hidden field in each page and assaigned the session value to the hidden field ...And sending the hidden field value to the URL

you will get the clear idea if you see the code ...And the rest of the code is same

 "pagename" is the hidden field which i took in Page1.aspx and Page2.aspx

Now my consern is Treeview can you plz find some time and get me close Psyberion

Page1.aspx.vb
-------------
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Label1.Text = "Help and Support Center Press F1 key for more details"
        Session("Page") = "Page1"
        pagename.Value = Session("Page")
    End Sub
 
Page2.aspx.vb
-------------
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Label1.Text = "Help and Support Center Press F1 key for more details"
        Session("Page") = "Page2"
        pagename.Value = Session("Page")
    End Sub
 
Pages.js
---------
//Javascript for the F1 Key
 
//function OpenHelp(type)
function OpenHelp(id) 
{
   
    try {
        if (event.srcElement.id)
        
        {
            oHelpWindow = window.open("Help.aspx?id="+event.srcElement.id, "Help", "width=800,height=600");
        //alert(event.srcElement.id);
        }
        else
        {
        
           var strhiddenValue = document.getElementById("pagename").value;
          // alert(strhiddenValue);
            oHelpWindow = window.open("Help.aspx?id="+strhiddenValue , "Help", "width=800,height=600");
        }
    }
    catch (e) {
        alert("Error opening help window: " + e.message);
    }
} 
 
var oHelpWindow;
document.onhelp = function() {
    if (oHelpWindow) {
        try {
            oHelpWindow.focus();
        }
        catch (e) {
            OpenHelp(event.srcElement.type);
        }
    }
    else {
        OpenHelp(event.srcElement.type);
    }
    return false;
} 
 
-----------------------------
'And now the change in the Autoscroll() in Help.js file
 
function AutoScroll()
{
    var params = getUrlVars();
     document.getElementById('helpDiv').scrollTop = document.getElementById(params['id']).offsetTop;
 
} 
                                              
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:

Select allOpen in new window

 

by: PsyberionPosted on 2009-11-11 at 18:18:17ID: 25801084

Hi bobby010606,

Sorry for the delay, I'm visiting relatives and only just managed to get on a wireless connection.

I'm glad you have managed to get the page and control based help sorted.

If you have a look at the html created by the asp:treeview control, you can get some ideas of how to access, and therefore scroll to, a particular node in the treeview. For example if the asp:treeview control has an id of lnpMenu as in my example then a node in the tree will look like the following in the resultant html:

<td><div style="width:20px;height:1px"></div></td> <-- These are indenting div's to show the hierarchy of the treeview.
<td><div style="width:20px;height:1px"></div></td>
<td>
  <img src="/treeview/WebResource.axd?d=uAMdDnZLYmHeHg7AeWwSIYk8CjzMXlkdDnERnHCKRpw1&amp;t=633914190457940992" alt="" />
</td>
<td style="white-space:nowrap;">
  <a href="javascript:__doPostBack('lnpMenu','sPage1.xml\\Page1.2.xml\\Page1.2.1.xml')" onclick="TreeView_SelectNode(lnpMenu_Data, this,'lnpMenut3');" id="lnpMenut3" style="text-decoration:none;">Page1.2.1</a>
</td>

The actual clickable part of the treeview node is simply a normal html anchor (<a> tag) which performs a postback with some data, the ID of this particular anchor element is lnpMenut3. So if you knew that Page1.2.1 is node id lnpMenut3 in the treeview then scrolling the contents of lnpDiv to lnpMenut3 will do the trick. So the problem is implementing the relationship between the page and the lnpMenut? element for each node.

One way you could do this is in your AutoScroll function of the Help.js file you could search the document (html source of the help page including the treeview) for tree nodes with the Page number in the href attribute (see html above). So if you pressed F1 while on a control on Page 1.2.1 then you would search the <a> tags in the lnpDiv <div> for occurrances of "Page1.2.1.xml')" in the href attribute for example.

e.g. something like...

function AutoScroll()
{
var params = getUrlVars();
//scroll help text section
document.getElementById('helpDiv').scrollTop = document.getElementById(params['id']).offsetTop;
//scroll treeview menu section
var re = new RegEx(params['id']+".xml'\)");
var div = document.getElementsByID("lnpDiv");
var nodes = div.getElementsByTagName("a");
for (var i=0; i<nodes.length-1; i++) {
    if (re.test(nodes[i].href)) {
        //node found!
        document.getElementById('lnpDiv').scrollTop = node[i].offsetTop;
    }
}

Now this depends on the values you are inserting into the treeview, in my example the LNP.xml was like...

<helpitem name="Page1.2.1" data="Page1.2.1.xml"></helpitem>

which is why the href has "Page1.xml\\Page1.2.xml\\Page1.2.1.xml')" in it, so if you have set this to something else like...

<helpitem name="Page1.2.1" data="Page1.2.1"></helpitem>

then your treeview nodes href's will be like "Page1\\Page1.2\\Page1.2.1')", and you only want to look at the last one (i.e. the one that has ') after it, so you would set your regular expression to...

var re = new RegEx(params['id']+"'\)");

Give that a try and let me know.

Regards,
Psyberion.

 

by: PsyberionPosted on 2009-11-11 at 18:21:32ID: 25801095

The for loop should read...

for (var i=0; i<nodes.length; i++) {

Not nodes.length-1.

 

by: PsyberionPosted on 2009-11-11 at 18:23:21ID: 25801105

Oh, and the line that sets the scrollTop of the lnpDiv should be...

document.getElementById('lnpDiv').scrollTop = nodes[i].offsetTop;

I missed the s off nodes.

I think that's all my typos....hopefully.

 

by: bobby010606Posted on 2009-11-12 at 11:17:47ID: 25807799

Hi Psyberion gud to see you after a long time man......My teamlead is going crazy abt this task ......Now he made little change in the task ...i will post a new question...and let u know the Title of it.......Once again gud to see u dude

 

by: bobby010606Posted on 2009-11-13 at 23:02:37ID: 25819655

Hi Psyberion....I really appreciate you efforts man...you took me close to my task.....But my Team lead changed the entire task ....now he is expecting bit similar but instead of autoscroll() to the particular part of the XML file he needs only some part of the data should be loaded from the xml file......I posted it in a new question with the
Title: How do i get that data of perticular tag of an xml and display in an aspx page
You will get a clear idea of what i need exactly as you are helping me for the last 3 questions.....Once again you deserve these points&..Please reply me Psyberion ASAP &.I will be waiting for your reply in that new question

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...