最近遇到要根据不同的用户权限显示不同的菜单,最后决定使用的方法如下:
第一,根据权限的不同,先创建单独的菜单文件,如下图所示。
注意: 菜单文件的代码,把自动造成的代码全删除,只保留你的菜单的代码就行(写在一个div里就行)
第二,创建一个主模板文件,如下图所示,后面创建新的webform都用这一个主模板。
在模板文件里,添加一个div, 代码如下
<div>
<span runat="server"id="span_top_menu"></span>
</div>
第三,在主模板的后台文件的page_load添加代码,根据不同的用户来显示不同的菜单,代码如下
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
if(Session["username"]!=null)
{
string username = Session["username"].ToString();
string str_menu = "";
if(username=="Admin")
{
str_menu = File.ReadAllText(System.Web.HttpContext.Current.Server.MapPath("\\top_menu_admin.html"));
}
else if(username=="1")
{
str_menu = File.ReadAllText(System.Web.HttpContext.Current.Server.MapPath("\\top_menu_1.html"));
}
else if(username=="2")
{
str_menu = File.ReadAllText(System.Web.HttpContext.Current.Server.MapPath("\\top_menu_2.html"));
}
span_top_menu.InnerHtml = str_menu;
}
}
}
最后,没有了,多多练习。