我所做的是这样的: 我创建了自己的助手叫RenderMenuLink,所以不是调用
<li><%= Html.ActionLink("Home", "index", "home")%></li>
我调用
<%= Html.RenderMenuLink("Home", "index", "home")%>
这又增加了一个链接,以防用户正在访问此链接 [1]“选定”类被附加到列表项的“类”属性。
[1]:我通过嘲笑用户所在的URL是否与此链接生成的URL匹配来实现此功能。该代码粘贴如下:
public static class HtmlMenu
{
public static string RenderMenuLink(this HtmlHelper html, string title, string action, string controller)
{
UrlHelper url = new UrlHelper(html.ViewContext.RequestContext);
string link = url.Action(action, controller);
if(String.IsNullOrEmpty(link))
{
throw new ArgumentException("No appropriate route found!");
}
var cssClass = String.Empty;
var uriPath = html.ViewContext.RequestContext.HttpContext.Request.Url.AbsolutePath;
if((link != "/" && uriPath.StartsWith(link)) || (uriPath == link))
{
cssClass = "selected";
}
return String.Format("<li class=\"{0}\"><a href=\"{1}\">{2}</a></li>", cssClass, link, title);
}
}
“JavaScript的自由” 是指未经JavaScript的? – eKek0 2009-04-16 03:23:52