Code page: (aspx page follows)
Imports System.Web
Imports Telerik.Web.UI
Partial Class MARS3MainMenu
Inherits System.Web.UI.Page
Dim security As New Security
Dim sess As New GlobalProperties
Dim da As New DataAccess
Dim menuInfo As New DataTable
Dim securityLoginRole As String = String.Empty
Dim WithEvents marsMenu As New RadMenu
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
Dim computerName As String = Environment.MachineName.ToString()
' =================================================================
' IMPORTANT
' In order for the System.Web.HttpContext.Current.User.Identity.Name.ToString()
' to pull the loggin name of the user the following needs to be changed on the
' IIS server running the website:
' Under Authentication 'Anonymous Authentication must be disabled and
' 'Windows Authentication must be enabled.
' If this is not done, no user information will be returned.
Dim userName As String
userName = System.Web.HttpContext.Current.User.Identity.Name.ToString()
' =================================================================
Dim userLength As Int32 = userName.Length
Dim userIndexOf As Int32 = userName.IndexOf(Chr(92)) + 1
userName = userName.Substring(userIndexOf, userLength - userIndexOf)
Dim userInfo As New DataTable()
userInfo = security.GetMARSUserInformation(userName)
Dim userInformation As String = userInfo.Rows(0)("FullName")
securityLoginRole = userInfo.Rows(0)("MARSGroupName")
If String.IsNullOrEmpty(userInformation) Or String.IsNullOrEmpty(securityLoginRole) Then
Response.Redirect("MARS3LoginErrorPage.aspx")
End If
sess.UserLoggedIn = True
sess.UserLogin = userName
sess.UserName = userInfo.Rows(0)("FullName")
sess.UserID = userInfo.Rows(0)("SalesID")
sess.UserRole = securityLoginRole
Master.MenuButtonVisible = False
Master.LabelReportBeingRun = "Main Menu"
' sess.UserRole
PopulateMenu()
End If
End Sub
Private Sub PopulateMenu()
AddHandler marsMenu.ItemClick, AddressOf marsMenu_ItemClick
marsMenu.Flow = ItemFlow.Vertical
menuInfo = da.BuildMenuInformation()
For Each row As DataRow In menuInfo.Rows
Dim hierarchyLevel As Int16 = Convert.ToInt16(row("HierarchyLevel"))
Dim item As RadMenuItem
Select Case hierarchyLevel
Case 1
If row(securityLoginRole) = "Y" Then
Dim level1 As RadMenuItem = New RadMenuItem(row("ItemName").ToString())
level1.Value = row("ItemID").ToString()
marsMenu.Items.Add(level1)
End If
Case 2
If row(securityLoginRole) = "Y" Then
Dim level2 As RadMenuItem = New RadMenuItem(row("ItemName").ToString())
level2.Value = row("ItemID").ToString()
item = marsMenu.FindItemByValue(row("ParentLevel").ToString())
item.Items.Add(level2)
End If
Case 3
If row(securityLoginRole) = "Y" Then
Dim level3 As RadMenuItem = New RadMenuItem(row("ItemName").ToString())
level3.Value = row("ItemID").ToString()
item = marsMenu.FindItemByValue(row("ParentLevel").ToString())
item.Items.Add(level3)
End If
End Select
Next
Panel1.Controls.Add(marsMenu)
End Sub
Protected Sub marsMenu_ItemClick(ByVal sender As Object, ByVal e As RadMenuEventArgs) Handles marsMenu.ItemClick
iFrame1.Attributes("src") = "SearchOptions.aspx"
End Sub
End Class
ASPX Page:
<%@ Page Language="VB" MasterPageFile="~/MasterPageReports.master" AutoEventWireup="true"
Inherits="MARS3_VBNET.MARS3MainMenu" Title="MARS Main Menu" CodeBehind="MARS3MainMenu.aspx.vb" %>
<%@ Register Src="CustomControls/ReportOptions.ascx" TagName="ReportOptions" TagPrefix="uc1" %>
<%@ Register Src="CustomControls/ReportSearchCriteria.ascx" TagName="ReportSearchCriteria"
TagPrefix="uc2" %>
<%@ MasterType VirtualPath="~/MasterPageReports.master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<style type="text/css">
.style6
{
width: 203px;
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table cellpadding="3px">
<tr>
<td>
<asp:Label ID="lblReportingOptions" runat="server" Text="Report Menu" Width="124px"
Font-Underline="true"></asp:Label>
</td>
</tr>
<tr>
<td valign="top">
<asp:Panel ID="Panel1" runat="server">
</asp:Panel>
</td>
<td>
<asp:Label ID="Label2" runat="server" Text="Microage" Width="150" ForeColor="White" ></asp:Label>
</td>
<td>
<iframe id="iFrame1" width="755" height="490" runat="server" ></iframe>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="MicroAge" Visible="false"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Button ID="Button1" runat="server" Text="Submit" CssClass="btnGradientRed" />
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
<br />
</asp:Content>