_Navbar.cshtml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. @{
  2. string? currentAction = ViewContext.RouteData.Values["action"] as string;
  3. string? currentController = ViewContext.RouteData.Values["controller"] as string;
  4. var sector = ViewData["Sector"] as string ?? string.Empty;
  5. var boardID = ViewData["BoardID"] as int?;
  6. var queryString = ViewData["QueryString"] as string ?? string.Empty;
  7. var tabs = new List<(string controller, string Action, string Name)>
  8. {
  9. ("Meta", "List", "목록"),
  10. ("Meta", "View", "열람"),
  11. ("Meta", "Write", "작성"),
  12. ("Prefix", "", "말머리"),
  13. ("Meta", "Comment", "댓글"),
  14. ("Meta", "General", "일반"),
  15. ("Meta", "Notify", "알림"),
  16. ("Meta", "NotifyTemplate", "양식"),
  17. ("Meta", "Permission", "권한"),
  18. ("Meta", "Exp", "경험치"),
  19. ("Manager", "", "관리자")
  20. };
  21. }
  22. <ul class="nav nav-tabs">
  23. <li class="nav-item">
  24. <a class="nav-link @(currentController == "List" && currentAction == "Edit" ? "active" : "")" href="@Url.Content($"~/Forum/Board/List/{boardID}/Edit?{queryString}")">기본</a>
  25. </li>
  26. @foreach (var (controller, action, name) in tabs)
  27. {
  28. var isActive = (currentController == controller && sector == action) ? "active" : "";
  29. var href = string.IsNullOrEmpty(action)
  30. ? Url.Content($"~/Forum/Board/{controller}/{boardID}?{queryString}")
  31. : Url.Content($"~/Forum/Board/{controller}/{action}/{boardID}?{queryString}");
  32. <li class="nav-item">
  33. <a class="nav-link @isActive" href="@href">@name</a>
  34. </li>
  35. }
  36. </ul>
  37. <br/>