75 messaggi dal 08 agosto 2003
Il global.asax contine il seguente codice:

  RouteTable.Routes.RouteExistingFiles = false
        routeCollection.Ignore("{resource}.axd/{*pathInfo}")
        routeCollection.MapPageRoute("RouteHome", "", "~/home.aspx")
        routeCollection.MapPageRoute("RouteForpage", 
"cerca/{tipologia}/", "~/cerca-per-tipologia.aspx", False,
                                     New RouteValueDictionary(New With {.tipologia = ""}))
        routeCollection.MapPageRoute("RouteArticoloAccessorio", "{codicearticolo}/{id}/", "~/scheda-articolo.aspx")


la navigazione funziona fino alla pagina cerca-per-tipologia.aspx
L'url è così composta (accessori sarebbe il parametro {tipologia})
http://example.com/AppName/cerca/accessori/


dopo di che quando faccio click sul link per visualizzare i dettagli degli articoli il browser mi restituisce l'errore "loop di reindirizzamento" però se passo sopra al link vedo il path virtuale scritto in modo corretto ossia: ({codicearticolo} = 34, {id} = 1498)
http://example.com/AppName/34/1498/


quindi penso che il problema sia nella creazione della route nel global.asax di nome "RouteArticoloAccessorio"

(Manca ancora del codice per comprendere il problema...)

il link contenuto dalla pagina cerca-per-tipologia.aspx che dovrebbe portarmi sulla scheda-articolo.aspx l'ho modificato in questo modo:

<a href='<%# GetRouteUrl("RouteArticoloAccessorio", new With {.codicearticolo = eval("codicearticolo").tostring(), .id = eval("id").tostring() })  %>'>  Visualizza Dettagli </a><br />


in questo modo dovrei riuscire a passare i due parametri che prima venivano passati in modo molto più semplice :-) via querystring.

Oltre l'errore di loop redirection, che il browser mi restituisce vorrei evidenziare che nella barra degli indirizzi l'URL contiene nella parte finale la pagina chiamante ossia "cerca-per-tipologia.aspx"

http://example.com/AppName/34/cerca-per-tipologia.aspx


qualsiasi suggerimento è ben accetto.

Grazie per l'attenzione
Francesco
Modificato da Francesco1982 il 18 gennaio 2014 18.28 -
75 messaggi dal 08 agosto 2003
Ho pensato fosse utile dire al motore del routing da dove partire dato che sono già dentro una pagina routed.

aggiunto
cerca/


routeCollection.MapPageRoute("RouteArticoloAccessorio", "cerca/{codicearticolo}/{id}/", "~/scheda-articolo.aspx")

non funziona nemmeno così

URL virtuale
 http://example.com/AppName/cerca/109/1780 


ottengo: errore di loop redirection e URL errata

http://example.com/AppName/cerca/109/cerca-per-tipologia.aspx


Francesco
Modificato da Francesco1982 il 18 gennaio 2014 18.42 -
Modificato da Francesco1982 il 19 gennaio 2014 14.39 -
75 messaggi dal 08 agosto 2003
Nulla di più banale, controllando nel codebihind della pagina chiamata c'era un response redirect che puntava alla pagina chiamante quindi generava il loop, mi sembrava strano fosse quello il problema ma commentando quella riga ho risolto, dovrò gestire con il codice con
Response.RedirectToRoute("RouteName")
la righa che ho commentato era una response.redirect("aspxchiamante.aspx")
Grazie

Francesco

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.