Kentico v9转型和角色

时间:2016-02-09 16:09:46

标签: kentico

我有一个警报部分用转发器拉物品。我的转换提取日期并复制并在UL标签中显示它们。

我被要求进行更改,只有特定人员才能看到特定警报。

我的想法是用复选框更改页面类型表单。在转换方面,我需要一个条件语句,其中复选框为true,用户是特定角色的一部分。

我的转型目前是ASCX,如下:

<% if ( checked = true && role = XX ) { <li>Eval("Alert")</li> } %>

我想它就是这样的

{{1}}

我无法弄清楚条件陈述。

3 个答案:

答案 0 :(得分:3)

用于文本/ XML转换

{% if(checked == true && CurrentUser.IsInRole("MyRole")) {return "<li>" + Alert + "</li>"}  %}

ASCX

<%# If(CMS.Membership.MembershipContext.AuthenticatedUser.IsInRole("rolename", CMS.SiteProvider.SiteContext.CurrentSiteName) && Eval("checked") == true, "<li>" + Eval("Alert") + "</li>","") %>

答案 1 :(得分:1)

我建议根据你的条件添加一些CSS类:

<li class="<% if(Eval<bool>("FieldsName") &&
     CMS.Membership.MembershipContext.AuthenticatedUser.IsInRole("rolename", CMS.SiteProvider.SiteContext.CurrentSiteName);) {"alert"} %>">
    ....
</li>

将“警报”类添加到您的li中,您可以更改该项目所需的可见性,颜色或任何内容。

这种方法需要ASPX转换。

答案 2 :(得分:0)

您可以使用CurrentUser.IsInRole(,)

方法

我想出了类似的东西:

&#13;
&#13;
<%# (checked && CurrentUser.IsInRole("_everyone_", "corporate") ? Eval("DocumentName") : "empty") %>
&#13;
&#13;
&#13;

大卫

相关问题