2011-04-13 53 views
2

我在asp應用程序中有一個site.master頁面,其中包含一個div菜單,它看起來像這樣。檢查site.master頁面中的條件

<div id="menu"> 
    <ul> 
     <li class="first"><a href="sample.aspx">home</a></li> 
     <li><a href="managerserviceshome.aspx">manager services</a></li> 
     <li><a href ="employeeservicehome.aspx">employee services</a></li> 
     <li><a href="myprojectshomepage.aspx">my projects</a></li> 
    </ul> 
</div> 

我要的是管理者的服務部分應該是隻有當某個員工有他的「IS_MANAGER」字段在數據庫中設置爲True可見。其餘的這個標籤應該是不可見的。我如何實現這一目標?我如何查看這個site.master頁面上的這個contidion?請幫忙。

+0

你能發表菜單代碼嗎? – 2011-04-13 04:41:38

回答

5

在標記內進行。在頁面加載後面的代碼中,設置Is_Manager標誌並從數據庫中查找它。在ASPX爲

protected bool IsVisible; 
protected void Page_Load(object sender, EventArgs e){ 
    IsVisible = (bool)Session["isVisible"]; 
} 

:那麼,在標記,這樣做:

<% if(Is_Manager){%> 
<li><a href="ManagerServicesHome.aspx">Manager Services</a></li> 
<%}%> 
+0

是的 - 這是要走的路。可以使用protected/public方法/屬性代替Is_Manager標誌 - 在方法/屬性主體中,可以編寫將執行必要查找以確定當前用戶是否管理者的代碼。 – VinayC 2011-04-13 04:57:51

+0

okk ..它工作,感謝。 – scooby 2011-04-13 10:42:00

1

鑑於到目前爲止您提供什麼...

在主的CS文件主頁

<style> 
    .manager { visibility = <%= (IsVisible) ? "visible" : "hidden" %>;} 
</style> 

<div id="menu"> 
    <ul> 
     <li class="first"><a href="sample.aspx">home</a></li> 
     <li class="manager"><a href="managerserviceshome.aspx">manager services</a></li> 
     <li><a href ="employeeservicehome.aspx">employee services</a></li> 
     <li><a href="myprojectshomepage.aspx">my projects</a></li> 
    </ul> 
</div>