在Umbraco中对C#进行简单的检查
本文关键字:简单 检查 Umbraco 中对 | 更新日期: 2023-09-27 18:27:08
我想检查某个东西是否是整数,所以如果它是8,那么给一个变量赋值,如果不是,给另一个变量,这很简单,但我在这方面遇到了错误?
var getColor = umbraco.presentation.nodeFactory.Node.GetCurrent().GetProperty("textColor" + i).Value;
if (getColor == 8)
{
var color = "black";
}
else
{
var color = "white";
}
然后我想把HTML中的变量打印成这样的类:
<div class="headline <% color %>"></div>
整个代码看起来像:
<div class="slides" onmouseleave="startSlider();">
<%for(int i = 1; i < 5; i++) { %>
<%
var getColor = umbraco.presentation.nodeFactory.Node.GetCurrent().GetProperty("textColor" + i).Value;
if (getColor == "8")
{
var color = "black";
}
else
{
var color = "white";
}
%>
<%if(umbraco.presentation.nodeFactory.Node.GetCurrent().GetProperty("image"+ i).Value != "") {%>
<div class="slide" id="slide<%=i%>" onclick="location.href = '<%=umbraco.library.NiceUrl(int.Parse(umbraco.presentation.nodeFactory.Node.GetCurrent().GetProperty("link"+ i).Value))%>';" style="display:<%if(i != 1){%>none<%}%>;" tmpcolor="<%=umbraco.presentation.nodeFactory.Node.GetCurrent().GetProperty("backgroundColor"+ i).Value%>">
<div class="image" id="image<%=i%>" style="background: url(<%=umbraco.presentation.nodeFactory.Node.GetCurrent().GetProperty("image"+ i).Value%>) center center;"></div>
<div class="headline <%=color%>"><%=umbraco.presentation.nodeFactory.Node.GetCurrent().GetProperty("headline"+ i).Value%></div>
<div class="subline"><%=umbraco.presentation.nodeFactory.Node.GetCurrent().GetProperty("subline"+ i).Value%></div>
<div class="menuitems">
<%for(int y = 1; y < 5; y++) { %>
<%if(umbraco.presentation.nodeFactory.Node.GetCurrent().GetProperty("menutext"+ y).Value != "") {%><span class="item<%if(i==y){%> selected<%}%>" onmouseover="gotoSlide(<%=y%>);"><a title="<%=umbraco.presentation.nodeFactory.Node.GetCurrent().GetProperty("headline"+ i).Value%>" href='<%=umbraco.library.NiceUrl(int.Parse(umbraco.presentation.nodeFactory.Node.GetCurrent().GetProperty("link"+ y).Value))%>'><%=umbraco.presentation.nodeFactory.Node.GetCurrent().GetProperty("menutext"+ y).Value%></a><br/></span><%}%>
<%}%>
</div>
</div>
<%}%>
<%}%>
</div>
我得到的错误是"颜色不在当前上下文中"
Value返回一个字符串,该字符串取决于文档类型属性所使用的数据类型。因此,您不能说"getColor==8"。
以下是我在.master或.aspx页面的测试环境中获得的一些片段。
<script runat="server">
string GetColorClass()
{
var color = umbraco.NodeFactory.Node.GetCurrent().GetProperty("textColor1").Value;
color = color == null ? string.Empty : color;
switch (color)
{
case "8":
return "black";
default:
return "white";
}
}
</script>
<div class="<% =GetColorClass() %>">
<h3>Cool It Works!</h3>
</div>
现在,还要注意我正在使用<%=。。。而您所拥有的<%。
<%%>=内联代码(不在响应中插入任何内容,只执行内联代码)<%$%>=用于使用web.config中注册的表达式生成器之一计算表达式…
<%=%>:response.write的缩写(这就是您在这里想要的,因为它会在遇到的地方将输出插入到响应中,例如在class="attribute.上
要获得更完整的列表,请参阅我的帖子,<%$<%@<%=<%#。。。什么';成交了吗?
我还使用了来自不同命名空间的节点工厂,您访问它的命名空间已被标记为过时,可能会从未来的版本中删除。