2015-06-11 5 views
0

У меня есть трехуровневый путь просмотра, который я пытаюсь проложить и нанести.HttpPost Route break Mapping

[Route("parent", Name = "parent")] 
[MvcSiteMapNode(Title = "Parent", ParentKey = "home", Key = "parent")] 
public ActionResult parent() 
{ 
    ............... 
} 

[Route("parent/child/{param}", Name = "child")] 
[MvcSiteMapNode(Title = "Child", ParentKey = "parent", Key = "child", PreservedRouteParameters = "param")] 
public ActionResult child(int param) 
{ 
    .............. 
} 

[Route("parent/child/{param}/{filterparam1 ?}/{filterparam2 ?}")] 
[HttpPost] 
public ActionResult child(int param, int filterparam1 = 0, int filterparam2 = 0) 
{ 
    .............. 
} 

[Route("parent/child/grandchild/{param}/{name}")] 
[MvcSiteMapNode(Title = "Grandchild", ParentKey = "child", Key="grandchild", PreservedRouteParameters = "param, name")] 
public ActionResult grandchild(int param, string = name) 
{ 
    .............. 

    var node = SiteMaps.Current.CurrentNode; 
    node.Title = model.name; 

    .............. 
} 

У меня есть проблема в том, что если я включаю [Route] тег на [HttpPost]:

[Route("parent/child/{param}/{filterparam1 ?}/{filterparam2 ?}")] 
[HttpPost] 

Мой постбэк фильтр работает, но внук не делает получить включены в дерево маршрутизации , не показывает на моей навигационной цепочке и ошибок кода узла:

var node = SiteMaps.Current.CurrentNode; 
node.Title = model.name; 

Если же я закомментировать [Routing] тег в списке [HttpPost] фильтр не работает, но внук действительно назначь, появляется на моя пачка и код узла успешно выполняются.

Кто-нибудь знает, что происходит?

ответ

0

Я работал это для тех, кто с той же проблемой:

Я заказана код в контроллере, так что все названные маршрут был до каких-либо сообщений:

[Route("parent/child/{param}", Name = "child")] 
[MvcSiteMapNode(Title = "Child", ParentKey = "parent", Key = "child", PreservedRouteParameters = "param")] 
public ActionResult child(int param) 
{ 
    .............. 
} 

[Route("parent/child/grandchild/{param}/{name}")] 
[MvcSiteMapNode(Title = "Grandchild", ParentKey = "child", Key="grandchild", PreservedRouteParameters = "param, name")] 
public ActionResult grandchild(int param, string = name) 
{ 
    .............. 

    var node = SiteMaps.Current.CurrentNode; 
    node.Title = model.name; 

    .............. 
} 

[Route("parent/child/{param}/{filterparam1 ?}/{filterparam2 ?}")] 
[HttpPost] 
public ActionResult child(int param, int filterparam1 = 0, int filterparam2 = 0) 
{ 
    .............. 
}