【问题标题】:Kentico CMSForms in a live context实时上下文中的 Kentico CMSForms
【发布时间】:2016-08-31 13:38:53
【问题描述】:

我创建了一个 cms 表单字段,希望在运行时从我的一个模板类的代码隐藏中获取它的值。这可能吗?

提前致谢

【问题讨论】:

    标签: kentico


    【解决方案1】:

    这是您的代码:

    using CMS.DataEngine;
    using CMS.Helpers;
    using CMS.OnlineForms;
    using CMS.SiteProvider;.
    ...
    ...
    ...        
    var formInfo = BizFormInfoProvider.GetBizFormInfo("ContactUs", SiteInfoProvider.GetSiteInfo("mySiteID").SiteID);
    var className = DataClassInfoProvider.GetDataClassInfo(formInfo.FormClassID).ClassName;
    var data = BizFormItemProvider.GetItems(className);
    
    if (!DataHelper.DataSourceIsEmpty(data))
    {
        foreach (var item in data)
        {
            var myFieldValue = item.GetStringValue("MyFieldColumnName", "");
        }
    }
    

    您可以找到更多信息here

    【讨论】:

      【解决方案2】:

      Kentico 的这篇文章将解决您的问题,并包含有关使用 Bizform API 的大量文章。

      https://docs.kentico.com/plugins/servlet/mobile#content/view/58331946

      【讨论】:

      • 我明白了。我的意思是,我有一个字段作为管理页面的一部分,它是一个复选框。当用户在实时模式下导航到页面时,我想检查该字段是否设置为管理员模式
      • if (PortalContext.ViewMode.Equals(ViewModeEnum.LiveSite)) { //做点什么 }
      • 谢谢,也许我没有正确解释自己。如何在实时模式下访问我放置在“页面类型”应用程序中的复选框字段的值。所述复选框在实时模式下不可见,仅在管理员中可见。希望这会更好。
      • 取决于您在何处访问此值。如果是在 PortalEngine 上,EditObject.Fieldname 将允许您在管理员和非管理员模式下访问任何字段。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-06
      相关资源
      最近更新 更多