using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Role;public partial class _Default : System.Web.UI.Page { string strUserRole = string.Empty; protected void Page_Init(object sender, EventArgs e) {
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Role;public partial class _Default : System.Web.UI.Page
{
string strUserRole = string.Empty;
protected void Page_Init(object sender, EventArgs e)
{
}
protected void Page_Load(object sender, EventArgs e)
{
Menu1.DataSource = GetDataSource(strUserRole, Server.MapPath("~"));
Menu1.DataBind();
}
XmlDataSource GetDataSource(string UserRole, string ServerPath)
{
XmlDataSource objData = new XmlDataSource();
objData.XPath = "siteMap/siteMapNode";
switch (UserRole)
{
case "Administrator":
objData.DataFile = ServerPath + @"/App_Data/Administrator.sitemap";
break;
case "User":
objData.DataFile = ServerPath + @"/App_Data/User.sitemap";
break;
default:
objData.DataFile = ServerPath + @"/App_Data/Default.sitemap";
break;
}
objData.DataBind();
return objData;
}
protected void btnAdmin_Click(object sender, EventArgs e)
{
strUserRole = "Administrator";
Menu1.DataSource = GetDataSource(strUserRole, Server.MapPath("~"));
Menu1.DataBind(); }
protected void btnUser_Click(object sender, EventArgs e)
{
strUserRole = "User";
Menu1.DataSource = GetDataSource(strUserRole, Server.MapPath("~"));
Menu1.DataBind();
}
}
<siteMap>
<siteMapNode url="~/Home.aspx" title="Home" description="HomePage"/>
<siteMapNode url="~/CreateUser.aspx" title="CreateUser" description="CreateUser" />
<siteMapNode url="" title="Products" description="Products" >
<siteMapNode url="~/Software.aspx" title="Software" description="Software" />
<siteMapNode url="Hardware.aspx" title="Hardware" description="Hardware" />
</siteMapNode>
</siteMap>