Я знаю, что это не совсем то, что вы ищете, но это то, что я использую для отслеживания активности моего меню / подменю. Я полагаю, что вы сможете использовать предпосылку, представленную ниже, для отображения правильных пунктов меню. Возможно, я тоже не понимаю вопроса, если это так, пожалуйста, дайте мне знать, и я постараюсь помочь вам в дальнейшем. Пример ниже используется с Razor MVC3.
Я также хотел бы отметить, что я ограничил себя двумя уровнями меню для этого кода, и если вы используете больше, вы должны изменить код, чтобы он был более рекурсивно устойчивым.
$(function () {
$("#menu li a[href='@Request.Url.LocalPath'],#menu li a[href='@(Request.Url.PathAndQuery)']").parent("li").addClass("current_page_item");
$("li.current_page_item").parent("ul").parent("li").addClass("current_page_item");
});
В теме вашего комментария ниже я считаю, что вы могли бы сделать что-то вроде следующего, что не идеально, но может дать вам старт в правильном направлении.
[WebMethod]
public static string MarkOpened(string id)
{
HttpContext.Current.Session["currentPage"] = id
}
$(document).ready(function(){
$("#main-nav li a.nav-top-item:<%= HttpContext.Current.Session["currentPage"] %>").next().slideToggle("normal");
$("#main-nav li a.nav-top-item").click(function(){
$.ajax({
type: "POST",
url: location.href + "/MarkOpened",
contentType: "application/json; charset=utf-8",
data: "{ 'id':'" + $(this).attr("something") + "'}",
dataType: "json"
});
};
); }