Link to home
Start Free TrialLog in
Avatar of jeffleese

asked on

An element does not appear on webpage, but I see it in design page

In this image below, you'll see that the code for the SiteMapPath is called right after the page header in this master page. But when the page renders as a web page, it is missing this SiteMapPath control. Can you work with me to troubleshoot this?
User generated image
Avatar of Rikin Shah
Rikin Shah
Flag of India image


Make sure you have cleared all the cache from the browser.
Avatar of jeffleese


How to do that? In current IE, internet options > browsing history settings > Caches and Databases I tried turning that off, restarting IE and then on again. It had no effect as I recompiled to see local IE page, and missing control at all times.

If there is something else to do to clear cache, please remind me.

Try Resetting the IE settings, this will do the necessary things. Go to Tools -> Options -> Advanced Tab and Click on Reset button.

I also would like to see that control out of the table/td, without any parent elements to see if it is not being hidden inside the table.

Have you tried <br> tag after div tag completes?
Have you created a web.sitemap file and placed it in the root of your solution
Reset did not do it.
Now to focus on isolating. You want to try to put control out of the table.

Not sure if this is correct, but I tried as
<body class="page">
<form id="form1" runat="server" >
    <asp:ScriptManager ID="ScriptManager1" runat="server">
<div class = "pageheader" >Depth by Distance
</div><br />
     <asp:SiteMapPath ID="SiteMapPath1" runat="server" CssClass="path">
<table width="100%" >

Open in new window

But still nothing. Was this the step you wanted?

I did not have a web.sitemap file in the solution root.

I used a file called desktop.sitemap file in a folder called desktop, which is used for making the tree on this masterpage.  

As a way to test your suggestion, I copied it and placed it at the root of the solution, renaming it web.sitemap. It contains an xml sitemap file with the sitmapnodes of the site.

But having it there had no effect.

Incidentally, this used to work before, but I've no idea what's preventing it working now.

Yes. This is what I wanted to be.

Please confirm if you have all the files available in the directory to the links mentioned in the sitemap file. If the files are not available then the control will not show anything on it.
Ensure that the page you are trying to show the control on is listed in the web.sitemap file. The sitemap control will not be shown on pages that are not listed in the web.sitemap file.
Rikin, I checked all the sitemapnodes, and each points to a file I confirmed exists.

I checked that the default start page is listed in this sitemap file.

Thank you for trying and your good troubleshooting ideas.
I furthered the isolation with:
         test<asp:SiteMapPath ID="SiteMapPath1" runat="server" CssClass="path" >

Open in new window

This showed the test text. Then I removed the CssClass="path" and then the path appeared.

So, something is wrong with the linking to the CssClass path info.

As I show in the top image, I am calling the css file as
    <link runat="server" href="./App_Themes/rosy/screen.css" media="screen" rel="Stylesheet" />

Open in new window

In that file, I have the .path style ok.

In web.config I use     <pages theme="rosy" /> which I think is for accessing the App_themes \ rosy folder where the stylesheets are.

When I comment out that line, then I get the SiteMapPath control, but I loose the web styles. I'm not sure where to isolate the problem yet, but it has something to do with the theming I think.

What is there in the Path class?
        font-family: Arial, Helvetica, sans-serif;
        font-size: small;
        color: #7467AD;
        background-color: Transparent;


Open in new window


I don't see any issues in this. Can you check assigning the same class to some other control and check in IE debug mode if the element does not get any inherited properties and text goes hidden/transparent.
<td style="width: 66%; " >
         test<asp:SiteMapPath ID="SiteMapPath1" runat="server" CssClass="path" >

            <asp:Label ID="Label1" runat="server" Text="test2" CssClass="path"></asp:Label>

Open in new window

With this other control, the CssClass="path" also makes the label go hidden, and the label appears if I remove it.
Here's what I see in IE in developer mode. Is that what you wanted to see?

User generated image
Avatar of Rikin Shah
Rikin Shah
Flag of India image

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I'm going to accept this as full answer, because you assisted me to troubleshoot and clarify the scope of the problem. We did not solve it, and I am going to pursue the next step with an MSDN support staff if possible. You can see my summary of the problem at css hides control
Not a solution, but suitable as concluding the exercise of troubleshooting.