从数据库中获取数据时出现常量错误的换行符

时间:2013-10-28 21:56:48

标签: c# asp.net-mvc

我正在尝试从db

中获取值

var Link = el.Element(“link”)。Value;

<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())

当前比赛中不存在链接

 <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%

1 个答案:

答案 0 :(得分:1)

根据您的其他问题,您的问题是您在C#环境中尝试编写HTML。

当您使用<% %>语法时,这些符号(或<%=<%:或其他)之间的所有内容都是C#,而不是HTML。这与Razor不同,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>
 <% } %>