2013-10-28 25 views
0

我試圖獲取從數據庫換行符在不斷的錯誤,取出由數據庫

VAR鏈接= el.Element(「鏈接」)的價值值的數據。

<div class="hotspot" link="<%=Link%>" style="background-image:url('/content/images/site/clearpixel.gif');z-index:4000;position:absolute;cursor:pointer;top:<%=Top%>px;left:<%=Left%>px;width:<%=Width%>px;height:<%=Height%>px;"></div> 

我得到錯誤'換行符不斷的錯誤。如何擺脫這種錯誤

對象引用未設置爲在此行的一個對象的實例:

foreach (var el in slide.Hotspots.Elements()) 

Link不基於當前的較量

<div class="hotspot" link="<%=Link%>" style="background-image:url('/content/images/site/clearpixel.gif');z-index:4000;position:absolute;cursor:pointer;top:"<%=Top%>"px;left:"<%=Left% 
+0

編輯之後 - 你在那裏得到一個'NullReferenceException' - 這意味着其中一個'slide'或'slide.Hotspots'或'slide.Hotspots.Elements'爲空。如果所有內容都編譯完成,那麼就會將其作爲運行時異常拋出,而您的'newline in constant'是一個編譯錯誤,這與您顯示的代碼無關。哪一個正在發生? –

+0

代碼見我的另一個問題http://stackoverflow.com/questions/19645056/how-to-fetch-the-values-from-database –

+0

接受的答案並不能解決你的第一個錯誤。你會怎樣做?!你解決了第一個錯誤,然後更新了你的問題,他解決了第二個錯誤! – hasan83

回答

1

存在於您的其他問題,你的問題是,你正在嘗試編寫HTML,而你仍然在C#上下文中。

當您使用<% %>語法時,這些符號(或<%=<%:或其他)的所有內容都是C#,而不是HTML。這與Razor不同,您可以在其中混合搭配C#和HTML代碼。

所以你得到的新行問題的原因是,你得到的<div...正在試圖編譯爲C#,顯然它失敗了。將它移出代碼塊,你會沒事的,就像:

<% 
    foreach (var el in slide.Hotspots.Elements()) { 
     var Top = el.Element("top").Value; 
     var Left = el.Element("left").Value; 
     var Width = el.Element("width").Value; 
     var Height = el.Element("height").Value; 
     var Link = el.Element("link").Value; 
%> 
<div ...></div> 
<% } %>