0

次の設定を検討してください。

public class SampleController : BaseController
{
    [MvcSiteMapNode(Title = "Super Title", Key = "Super", ParentKey = "topNav")]
    public ActionResult Index()
    {
        return View();
    }

    [MvcSiteMapNode(Title = "Sub Title", ParentKey = "Super")]
    public ActionResult SubAction(Guid id)
    {
        return View();
    }
}

SubAction に移動するとき、Html.MvcSiteMap().SiteMap.CurrentNode は常に null です。 場合によっては、単一の Guid でのみ機能することがあります (最初に要求されたものだと思います)。

なんで?

このインスタンスとは別に、プロジェクト内の他のすべてのアクションで機能します。

4

1 に答える 1

0

PreservedRouteParameters="true" を追加するだけでした

[MvcSiteMapNode(Title = "Sub Title", ParentKey = "Super", PreservedRouteParameters = "id")]
public ActionResult SubAction(Guid id)
{
    return View();
}
于 2013-09-30T13:13:50.277 に答える