在Umbraco中键入True/False
我们希望在Umbraco中的documemtype中实现一个复选框[Type:true/false] 我们目前的项目必要性是: 一个复选框,用于决定图像是链接还是弹出 代码是这样的在Umbraco中键入True/False,umbraco,umbraco5,umbraco-blog,Umbraco,Umbraco5,Umbraco Blog,我们希望在Umbraco中的documemtype中实现一个复选框[Type:true/false] 我们目前的项目必要性是: 一个复选框,用于决定图像是链接还是弹出 代码是这样的 var child= @Model; if(child.GetProperty("popUp").Value.ToString() == "1") { // true means image will act as popup } else
var child= @Model;
if(child.GetProperty("popUp").Value.ToString() == "1")
{
// true means image will act as popup
}
else
{
// false means image will act as link
}
但问题是发生了错误“无法对空引用执行运行时绑定”
我也尝试过这样的代码
if (child.GetProperty("popup").Value.Equals("1"))
{
}
或
但仍然无法得到它。欢迎所有建议。请使用以下选项:
var child=@Model
if(child.GetPropertyValue<bool>("popUp", false))
{
// true means image will act as popup
}
else
{
// false means image will act as link
}
if(child.GetPropertyValue(“弹出”,false))
{
//true表示图像将作为弹出窗口
}
其他的
{
//false表示图像将充当链接
}
节点。GetProperty(“弹出窗口”)是一种方法。如果您的控制值实际上是字符串,那么您的检查逻辑看起来就像
if (node.GetProperty<string>("popUp") == "1"){}
if(node.GetProperty(“popUp”)==“1”){
实际上,泛型GetProperty是您的代码所做的,但它处理空情况,返回默认值(字符串)
(我从来没有使用过动态的东西,以防出现问题,请使用类型化的var node=new node(id);)自从您最近将属性添加到文档类型,除非该类型的每个节点都已发布,否则该属性将返回null。您需要先检查属性是否为null,然后检查其是否为true
var popUp = child.GetProperty("popUp");
if (popUp != null && popUp.Value.Equals("1"))
{
// popup...
}
else
{
// link...
}
使用了下面的代码,对我来说效果很好
var child= @Model;
if(@child.popUp)
{
// true means image will act as popup
}
else
{
// false means image will act as link
}
无法将类型“string”隐式转换为“bool”,这是我使用您的代码martijn van der put时收到的错误
var child= @Model;
if(@child.popUp)
{
// true means image will act as popup
}
else
{
// false means image will act as link
}