如何在CMSDESK上查看是否正在编辑

How to check if Being edited on CMSDESK

我是 ASP 的新手,而且绝对是 Kentico 的新手。但我还算进步。

总之。我正在构建这个布局,其中有一个隐藏的 div 元素:

<div style="display: none;">
  <cms:CMSWebPartZone ZoneID="someContentZoneHere" runat="server" />
</div>

此脚本的问题在于它没有在设计页面上显示 Web 部件区域,而且我无法在其中添加数据。我只需要在 CMSdesk.

上删除 style

一直想用if else来解决问题,但是不知道比较什么?

  <% if(site is not in CMSDESK || CMSSITEMANAGER) { %>
    //with style  attribute
    <div style="display: none;">
  <% }else{ %>
    //no style  attribute
    <div>
  <% } %>

或者还有其他方法可以做到这一点。

您要找的条件是:

if(CMS.PortalEngine.PortalContext.ViewMode != CMS.PortalEngine.ViewModeEnum.Edit && 
   CMS.PortalEngine.PortalContext.ViewMode != CMS.PortalEngine.ViewModeEnum.Design) 

您也可以反过来检查 CMS.PortalEngine.ViewModeEnum.LiveSite。检查 the full list 个可能的值。