描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。
异常详细信息:System.NullReferenceException:未将对象引用设置为对象的实例。
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
答案 0 :(得分: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;
//...
}
}
}
}
请注意,在上面的代码中,我假设el.Element是一种方法。如果是其他任何内容,请提供其他信息。
答案 1 :(得分:0)
您确认自己有“顶级”元素吗?如果有些元素没有“top”,则应跳过for循环的迭代。
foreach (var el in slide.Hotspots.Elements()){
var Top = el.Element("top")
if( Top == null )
continue;
//Now you are free to access Top.Value;
}
答案 2 :(得分:0)
slide
或Hotspots
为空。调试此代码与代码隐藏相比很难。
找到填充slide
和Hotspots
的代码,并验证它们是否符合您的预期。