目前我在C#我的會員角色代碼結構像下面這樣有沒有更好的方式來顯示與角色的HTML代碼比如果MVC剃刀意見
@if (WebApiApplication.CurrentUser.CurrentRole == Role.SysAdmin || WebApiApplication.CurrentUser.CurrentRole == Role.Coordinator)
{
<li id="HomeMenu" class="@Model.GetMenuClass("HomeMenu")"><a href="@Url.Action("Index", "Home")"><i class="fa fa-home"></i> Home</a></li>
<li id="InternsMenu" class="@Model.GetMenuClass("InternsMenu")"><a href="@Url.Action("Index", "Interns")"><i class="fa fa-user"></i> Interns</a></li>
<li id="ProjectsMenu" class="@Model.GetMenuClass("ProjectsMenu")"><a href="@Url.Action("Index", "Projects")"><i class="fa fa-list-alt"></i> Projects</a></li>
<li id="AssignmentsMenu" class="@Model.GetMenuClass("AssignmentsMenu")"><a href="@Url.Action("Index", "Assignments")"><i class="fa fa-paperclip"></i> Assignments</a></li>
}
@if (WebApiApplication.CurrentUser.CurrentRole == Role.User)
{
<li id="HomeMenu" class="@Model.GetMenuClass("HomeMenu")"><a href="@Url.Action("Index", "Home")"><i class="fa fa-home"></i> Home</a></li>
<li id="InternsMenu" class="@Model.GetMenuClass("InternsMenu")"><a href="@Url.Action("Index", "Interns")"><i class="fa fa-user"></i> Interns</a></li>
<li id="ProjectsMenu" class="@Model.GetMenuClass("ProjectsMenu")"><a href="@Url.Action("Index", "Projects")"><i class="fa fa-list-alt"></i> Projects</a></li>
<li id="AssignmentsMenu" class="@Model.GetMenuClass("AssignmentsMenu")"><a href="@Url.Action("Index", "Assignments")"><i class="fa fa-paperclip"></i> Assignments</a></li>
}
@if (WebApiApplication.CurrentUser.CurrentRole == Role.Intern)
{
<li id="HomeMenu" class="@Model.GetMenuClass("HomeMenu")"><a href="@Url.Action("Index", "Home")"><i class="fa fa-home"></i> Home</a></li>
<li id="TimecardMenu" class="@Model.GetMenuClass("TimecardMenu")"><a href="@Url.Action("Timecard", "Assigments")"><i class="fa fa-user"></i> Interns</a></li>
<li id="FeedbackMenu" class="@Model.GetMenuClass("ProjectsMenu")"><a href="@Url.Action("Feedback", "Assigments")"><i class="fa fa-list-alt"></i> Projects</a></li>
<li id="SupportMenu" class="@Model.GetMenuClass("SupportMenu")"><a href="@Url.Action("Index", "Support")"><i class="fa fa-question-circle"></i> Support</a></li>
}
做這將是多麼美好處理方式角色邏輯代替剃刀查看?在C#模型中做它?
我看到它這樣使用此頁面http://www.asp.net/web-pages/overview/security/16-adding-security-and-上成員 –
該代碼不應該在視圖中。你的邏輯應該在控制器中,並將適當的模型傳遞給視圖(一組菜單項)並使用一個簡單的循環來生成鏈接 –
好吧,IMO你只是用一些不同的鏈接反覆重複自己一些角色您當然可以做到這一點,但只要考慮隨着時間的推移將其維護在SDLC中即可。 –