0

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:


Line 156:                                <img class="carouselImg" src="<%=slide.ImageUrl%>" />
Line 157:                                <%
Line 158:foreach (var el in slide.Hotspots.Elements())
Line 159:{ 
Line 160:      var Top = el.Element("top").Value;    








NullReferenceException: Object reference not set to an instance of an object.]
   ASP.views_home_index_aspx.__RenderContent2(HtmlTextWriter __w, Control parameterContainer) in c:\_ 
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +256
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19
   System.Web.UI.Control.Render(HtmlTextWriter writer) +10
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +134
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19
   System.Web.UI.Control.Render(HtmlTextWriter writer) +10
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +134
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19
   System.Web.UI.Page.Render(HtmlTextWriter writer) +29
   System.Web.Mvc.ViewPage.Render(HtmlTextWriter writer) +59
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1266
Peter Jennings
  • 359
  • 3
  • 7
  • 16

3 Answers3

1
if ((slide != null) && (slide.Hotspots != null))
{
    var elements = slide.Hotspots.Elements();
    if (elements != null)
    {
        foreach (var el in elements)
        {
            var element = el.Element("top");
            if (element.Value != null)
            {
                var Top = el.Element("top").Value;
                //...
            }
        }
    }
}

Note that in the code above I have assumed that el.Element is a method. If it is anything else, then please provide additional information.

Lajos Arpad
  • 64,414
  • 37
  • 100
  • 175
0

Have you confirmed that you have a "top" element? If there are elements that don't have a "top", you should skip those iterations of your for loop.

foreach (var el in slide.Hotspots.Elements()){
  var Top = el.Element("top")
  if( Top == null )
    continue;

   //Now you are free to access Top.Value;   
}
Babak Naffas
  • 12,395
  • 3
  • 34
  • 49
0

Either slide or Hotspots is null. It is going to be difficult to debug this versus code-behind.

Find the code that populates slide and Hotspots and verify they are producing what you expect.

Karl Anderson
  • 34,606
  • 12
  • 65
  • 80