Как я могу создать узлы карты сайта для ASP.Net MVC2, используя MvcSiteMap - PullRequest
1 голос
/ 05 ноября 2010

Я хочу использовать MvcSiteMap, чтобы определить карту сайта моих контроллеров и действий, чтобы позволить мне создавать хлебные крошки и меню.

Я пытался использовать описанные ниже декораторы для программного добавления узлов, но, к сожалению, это не сделает мое дерево таким, как я хочу.

[MvcSiteMapNodeAttribute(Title = "Home"]
[MvcSiteMapNodeAttribute(Title = "Services", ParentKey = "Home")]
[MvcSiteMapNodeAttribute(Title = "Service detail", ParentKey = "Services")]
[MvcSiteMapNodeAttribute(Title = "Edit", ParentKey = "Service detail")]

Как я могу украсить свои действия, чтобы убедиться, что отношения между ребенком и родителями сделаны так, как я хочу?

[HandleError]
public class HomeController : Controller
{
    // Home
    public ActionResult Index ()
    {
        return View();
    }
}

[HandleError]
public class ServiceController : Controller
{
    // Home > Services
    public ActionResult Index ()
    {
        return View();
    }

    // Home > Services > Service detail
    public ActionResult Details (int id)
    {
        return View();
    }

    // Home > Services > Service detail > Edit
    public ActionResult Edit (int id)
    {
        return View();
    }
}

1 Ответ

0 голосов
/ 30 мая 2011

Вам также необходимо установить ключ:

[MvcSiteMapNodeAttribute(Key = "Home", Title = "Home"]
[MvcSiteMapNodeAttribute(Key = "Services", Title = "Services", ParentKey = "Home")]
[MvcSiteMapNodeAttribute(Key = "ServiceDetail", Title = "Service detail", ParentKey = "Services")]
[MvcSiteMapNodeAttribute(Title = "Edit", ParentKey = "ServiceDetail")]
...