hej platik
her er koden:
Helpers/MenuItemHelper.csusing System;
using System.Web.Mvc;
using System.Web.Mvc.Html;
namespace
www.minhjemmeside.dk.Helpers{
/// <summary>
/// This helper method renders a link within an HTML LI tag.
/// A class="selected" attribute is added to the tag when
/// the link being rendered corresponds to the current
/// controller and action.
///
/// This helper method is used in the Site.Master View
/// Master Page to display the website menu.
/// </summary>
public static class MenuItemHelper
{
public static string MenuItem(this HtmlHelper helper, string linkText, string actionName, string controllerName)
{
string currentControllerName = (string)helper.ViewContext.RouteData.Values["controller"];
string currentActionName = (string)helper.ViewContext.RouteData.Values["action"];
var builder = new TagBuilder("li");
// Add selected class
if (currentControllerName.Equals(controllerName, StringComparison.CurrentCultureIgnoreCase) && currentActionName.Equals(actionName, StringComparison.CurrentCultureIgnoreCase))
builder.AddCssClass("selected");
// Add link
builder.InnerHtml = helper.ActionLink(linkText, actionName, controllerName).ToString();
// Render Tag Builder
return builder.ToString(TagRenderMode.Normal);
}
}
}
Masterpage<%@ Import Namespace="
www.minhjemmeside.dk.Helpers" %>
<ul class="menu">
<%= Html.MenuItem("Test1", "Index", "Home") %>
<%= Html.MenuItem("Test2", "Index", "Home")%>
<%= Html.MenuItem("Test3", "Index", "Home")%>
<%= Html.MenuItem("Test4", "Index", "Home")%>
</ul>
Site.css.menu li a:visited
{
color: red;
}
.menu li a:hover, .menu li .selected
{
background-color: green;
}
I min kildekode står den som:
<ul class="menu">
<li><a href="/">Test1</a></li>
<li class="current"><a href="/Home/Test2">Test2</a></li>
<li><a href="/Home/Test3">Test3</a></li>
<li><a href="/Home/Test4">Test4</a></li>
</ul>
Håber dette giver dig et lille overblik til, at finde fejlen. Tak på forhånd.