2011-01-04 25 views
10

Spoiler alert: questo è SOCIETÀ una domanda, così scuse a tutti coloro che leggono esclusivamente come un soggetto discorsivo :)ASP.NET MVC JavaScript Routing

Comunque, stavo facendo una piccola ricerca oggi sto aggiungendo percorsi via javascript quando ho pensato che un po 'di ricerca su Google non avrebbe danneggiato. Fondamentalmente, il mio obiettivo era quello di farla finita con il seguente tipo di costrutto entro miei punti di vista:

alt text

e sostituirlo con qualcosa di simile a:

alt text

bene, ho avuto la fortuna di un Poco dopo aver trovato questo fantastico articolo (che non è mio né ho alcuna affiliazione oltre al rispetto per il pezzo di lavoro):

http://weblogs.asp.net/zowens/archive/2010/12/20/asp-net-mvc-javascript-routing.aspx

questo davvero è stato un collegamento mancante (o così ho pensato) per me quando si tratta di percorsi via javascript. Tuttavia, il secondo esempio di codice è fuorviante e in realtà non produrrà ciò che porta l'esempio. Qualcuno può suggerire una soluzione per questo e/o una soluzione alternativa per consentire questa convenzione fluente di percorsi js all'interno di viste mvc ??

applausi ...

[modifica] - domanda a cura 22:16 GMT per esplorare le opzioni più profonde su questo argomento, oltre a titolo cambiato (rimosso OT porzione).

+0

** Avviso spoiler **: Stack Overflow è per domande. –

+0

Nathan, sì, apprezzato. volevo davvero aggiungere questo piccolo ** OT ** nugget al mix. coda tra le gambe - ouch/touche ecc :) !! –

+0

Oh guarda qualcuno che sta collegando il mio progetto di piccolo animale domestico: D – zowens

risposta

5

Quindi la domanda è perché il secondo esempio di codice non funzionerà come previsto. Ecco la risposta, post attualmente non restituisce nulla. Questo è un esempio di un certo sviluppatore che non guarda i dettagli del codice. Quando si utilizza homePageUrl, il valore sarà indefinito.

per ottenere effettivamente l'URL della pagina, devi effettuare le seguenti operazioni:

$.routeManager.action({controller:'Home', action:'Index'}).toUrl() 

Così, la morale della storia è che il codice è un po 'rotto. L'azione post dovrebbe restituire un oggetto in cui si può mettere "toUrl) (" viene eseguita subito dopo il post, in questo modo:

$.routeManager.action({controller:'Home', action:'Index'}) 
       .post(function(data){ alert(data); }) 
       .toUrl(); 

sarò risoluzione di questo bug in un po '!

+2

+1 - per una risposta umile;). più un segno di spunta come è la risposta - sì ... grazie !! –

+1

È stato risolto ora ... Non posso credere di averlo inserito nel mio post sul blog. Devo essere un po 'più attento! – zowens

+1

zack - anche il "meglio" di noi può cadere sulle nostre spade :-). controlleremo l'aggiornamento più tardi e grazie ancora. –

Problemi correlati