2016-02-09 63 views
1

我有一個警報部分拉中繼器的項目。我的轉換會提取日期並複製並將它們顯示在UL標籤中。Kentico v9轉換和角色

我被要求做一個改變,只有人才能看到特定的警報是一個特定的組/角色。

我的想法是用複選框改變頁面類型的形式。在轉換方面,我需要一個條件語句,其中複選框爲真,用戶是特定角色的一部分。

我的轉型是目前的ASCX和如下:

<li><%# Eval("Alert") %></li> 

我想它是這樣的

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

我只是想不通的條件語句。

回答

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>","") %> 
+0

謝謝勞拉,這將有助於! –

0

您可以使用的方法CurrentUser.IsInRole(,)

我想出了這樣的:

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

大衛

1

我建議加根據您的情況選擇一些CSS課程:

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

將「alert」類添加到您的li中,您可以更改該項目的可見性,顏色或任何您需要的內容。

這種方法需要ASPX轉換。

+0

感謝羅馬, 我可以用這種方法再最後一分鐘的要求。 –