在Umbraco中键入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

我们希望在Umbraco中的documemtype中实现一个复选框[Type:true/false]

我们目前的项目必要性是:

一个复选框,用于决定图像是链接还是弹出

代码是这样的

    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
  }