【问题标题】:Make Umbraco property hidden隐藏 Umbraco 属性
【发布时间】:2017-02-02 10:37:45
【问题描述】:

我需要为 umbraco 成员(来自最终成员)存储密码重置令牌。现在我得到的解决方案是创建一个属性并使用它。但问题是这个令牌应该对所有人隐藏。是否有任何干净的方法来隐藏属性(不添加对包的依赖项)?

到目前为止approach 我发现看起来像这样,但我正在寻找更简单的方法来隐藏属性:

public class ApplicationHandler : ApplicationEventHandler  
{  
   public ApplicationHandler()  
   {  
       ContentControl.AfterContentControlLoad  = new ContentControl.AfterContentControlLoadEventHandler(ContentControl_AfterContentControlLoad);  
   }  

private void ContentControl_AfterContentControlLoad(ContentControl contentControl, ContentControlLoadEventArgs e)  
   {  
    int docId = 0;  
       int.TryParse(HttpContext.Current.Request["id"], out docId);  
       IContent content = ApplicationContext.Current.Services.ContentService.GetById(docId);  

    Control ctl = umbraco.presentation.LiveEditing.Utility.FindControl<Control>(delegate(Control c)  
          {  
              return c.ClientID.EndsWith("propertyAliasToHide");  
          }, contentControl.Page);  
    HideProperty(ctl);  
}  

private void HideProperty(Control control)  
   {  
       if (control != null)  
       {  
           Control parent = control.Parent;  
           if (parent != null)  
           {  
               if (parent.Parent != null)  
               {  
                   if (parent.Parent.Parent != null)  
                   {  
                       parent.Parent.Parent.Visible = false;  
                   }  
               }  
           }  
       }  
   }  
   }  

【问题讨论】:

    标签: c# asp.net umbraco7


    【解决方案1】:

    最简单的方法是简单地创建一个属性编辑器,例如 umbraco 中内置的标签,然后确保它不会在 UI 中显示任何内容。然后,您可以使用此编辑器向成员添加自定义属性,您将能够通过代码将值保存在其中,而无需在后台 UI 中显示。

    这里有关于创建属性编辑器的说明。您可以跳过大部分部分,因为您不需要显示或能够通过后台编辑编辑器中的值 - 您只是将它用作一种数据容器,用于仅通过以下方式访问和修改的隐藏值代码。

    https://our.umbraco.org/documentation/tutorials/Creating-a-Property-Editor/

    【讨论】:

      【解决方案2】:

      您可以只使用标签属性编辑器来实现这一点。只需转到成员类型并添加标签。您可以选择数据类型,还可以选择对用户隐藏值或使其不可编辑。

      我经常使用它来更新我不想在 umbraco 后台的成员资料中编辑或看到的字段。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-11-21
        • 2018-07-15
        • 2023-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-30
        相关资源
        最近更新 更多