2013-07-03 22 views
1

我正在使用mvc,其中有兩種類型的用戶; 「學生」和「工作人員」。我想過濾這些用戶並向他們顯示一個菜單,這取決於用戶是學生還是員工,都應該改變。我試圖用Javascript來做到這一點。在mvc中隱藏和顯示使用javascript的菜單

我該如何做到這一點?

這是我已經有:

<strong>STAFF USER</strong> 

<div id="menucontainer"> 
    <ul id="menu">     
     <li>@Html.ActionLink("Staff Details", "StaffDetails", "Home")</li> 
     <li>@Html.ActionLink("Collection Master", "CollectionMaster", "Home")</li> 
     <li>@Html.ActionLink("Question Bank Master", "QuestionBankMaster", "Home")</li> 
     <li>@Html.ActionLink("Student Details", "StudentPersonnelDetails", "Home")</li> 
     <li>@Html.ActionLink("Answer Sheet", "Answersheet", "Home")</li> 
     <li>@Html.ActionLink("Login", "Login", "Home")</li> 
     <li>@Html.ActionLink("Exam Master", "ExamMaster", "Home")</li> 
     <li>@Html.ActionLink("Assign", "Assign", "Home")</li> 
    </ul> 
</div> 

<strong>STUDENT USER</strong> 

<div id="menucontainer1"> 
    <ul id="menu1">     
     <li>@Html.ActionLink("Student Details", "StudentPersonnelDetails", "Home")</li> 
     <li>@Html.ActionLink("Answer Sheet", "Answersheet", "Home")</li> 
    </ul> 
</div> 
+0

你想隱藏它在客戶端或服務器端? –

+2

那麼,他說的JavaScript如此...編輯:雖然我認爲標記它服務器端更有意義。 –

回答

3

簡單的例子:

<script type="text/javascript"> 
    function Foo() 
    { 
     if(@Roles.GetRolesForUser().Contains("Staff")) 
     { 
      document.getElementById('menucontainer').style.display = 'block'; 
      document.getElementById('menucontainer1').style.display = 'none'; 
     } 
     else 
     { 
      document.getElementById('menucontainer').style.display = 'none'; 
      document.getElementById('menucontainer1').style.display = 'block'; 
     } 
    } 
</script> 
+1

然後調用函數,或者根本沒有函數。 – Jonathan

+2

我很確定OP能夠調用函數 – DGibbs

+0

我也是。如果有人不知道,我只是想說清楚。對不起,如果我遇到了粗魯。 :) – Jonathan