創建一個方法並使用ASP.NET內聯表達式調用此方法,如下所示。
IF語言是VB
<script runat="server">
Public Function IsUserAdmin() As Boolean
Dim uinfo As DotNetNuke.Entities.Users.UserInfo = DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo()
If uinfo.UserID <> -1 Then
If uinfo.IsInRole(DotNetNuke.Entities.Portals.PortalSettings.Current.AdministratorRoleName) Then
Return True
Else
Return False
End If
Else
Return False
End If
End Function
</script>
和ASP.NET內聯表達式是
<% If IsUserAdmin() Then%>
<p>Only administrators can see this!</p>
<% End If%>
IF語言被C#
<script runat="server">
public bool IsUserAdmin()
{
DotNetNuke.Entities.Users.UserInfo uinfo = DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo();
if (uinfo.UserID != -1)
{
if (uinfo.IsInRole(DotNetNuke.Entities.Portals.PortalSettings.Current.AdministratorRoleName))
return true;
else
return false;
}
else
{
return false;
}
}
</script>
和ASP.NET內聯表達式是
<% if (IsUserAdmin()) %>
<%
{ %>
<p>Only administrators can see this!</p>
<% } %>
This throw an error:'無法加載皮膚:/Portals/.../index.ascx,錯誤:C:\ inetpub \ wwwroot \ ... \ index.ascx(144):錯誤BC30205:預期的語句結束。144行是'public bool IsUserAdmin()'。 – 2013-04-12 08:46:09
@James什麼是您的控制語言c#或vb – Gajendra 2013-04-12 09:16:00
我認爲它應該是C#,因爲我工作的公司通常使用C#,但我不完全確定。有沒有一種方法可以找到,而無需訪問除.ascx模板文件之外的其他任何內容? – 2013-04-12 09:38:48