【问题标题】:Type True/False in Umbraco在 Umbraco 中输入真/假
【发布时间】:2013-05-27 14:24:07
【问题描述】:

我们想在 Umbraco 的 DocumemtType 中实现一个复选框[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"))
             {

             }

      if (child.GetProperty("popup").Value.ToString().Equals("1"))
             {

             }

但仍然无法获得它。欢迎所有建议。

【问题讨论】:

    标签: umbraco umbraco5 umbraco-blog


    【解决方案1】:

    node.GetProperty("popUp") 是要走的路。如果您的控制值实际上是字符串,那么您的检查逻辑将如下所示

    if (node.GetProperty<string>("popUp") == "1"){}
    

    有效的通用 GetProperty 是您的代码所做的,但它处理 null 情况,返回默认值(字符串)。

    (我从来没有使用过动态的东西,万一那里出了问题,请输入 var node = new Node(id);)

    【讨论】:

      【解决方案2】:

      由于您最近将该属性添加到文档类型,除非该类型的每个节点都已发布,否则该属性将返回 null。您需要先检查该属性是否为空,然后检查其是否为真。

      var popUp = child.GetProperty("popUp");
      if (popUp != null && popUp.Value.Equals("1"))
      {
          // popup...
      }
      else
      {
          // link...
      }
      

      【讨论】:

        【解决方案3】:

        使用下面的代码,对我来说效果很好

        var child= @Model;
        
        if(@child.popUp)
          {
            // true means image will act as popup
          }
         else
          {
             // false means image will act as link
          }
        

        【讨论】:

          【解决方案4】:

          使用这个:

          var child= @Model;

          if(child.GetPropertyValue<bool>("popUp", false))
            {
              // true means image will act as popup
            }
           else
            {
               // false means image will act as link
            }
          

          【讨论】:

          • 无法将类型“字符串”隐式转换为“布尔”是我使用您的代码时收到的错误 martijn-van-der-put
          猜你喜欢
          • 2018-12-25
          • 1970-01-01
          • 1970-01-01
          • 2018-02-16
          • 1970-01-01
          • 2022-01-17
          • 1970-01-01
          • 2016-10-07
          相关资源
          最近更新 更多