2011-01-04 21 views
10

Spoiler alert: Das ist JETZT eine Frage, so entschuldige mich für jeden, der es rein als diskursive Thema lesen :)ASP.NET MVC JavaScript Routing

Wie dem auch sei, war ich ein wenig Forschung heute neu hinzufügen Routen über Javascript, wenn ich dachte, dass ein bisschen Google Forschung würde nicht weh tun.

alt text

und ersetzen Sie es durch so etwas wie: Im Grunde genommen mein Ziel weg mit folgenden Art des Konstrukts in meinen Ansichten zu tun war

alt text

gut, ich habe Glück eines wenig heute nach dem Finden dieses fantastischen Artikels (der nicht meiner ist, noch habe ich irgendeine Verbindung anders als Respekt für das Stück Arbeit):

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

Dies war wirklich ein fehlender Link (oder so dachte ich) für mich beim Umgang mit Routen über Javascript. Das zweite Codebeispiel ist jedoch irreführend und führt nicht dazu, dass das Beispiel weiterführt. Kann jemand eine Lösung für diese und/oder eine alternative Lösung vorschlagen, um diese fließende Konvention von js Routen innerhalb von MVC Ansichten zu ermöglichen?

prost ...

[Bearbeiten] - Frage bearbeitet 22.16 GMT tiefe Optionen zu diesem Thema zu erforschen, und änderte Titel ( OT Teil entfernt).

+0

** Spoiler Alert **: Stack Overflow ist für Fragen. –

+0

Nathan -yup, geschätzt. Ich wollte wirklich nur dieses kleine ** OT ** Nugget zum Mix hinzufügen. Schwanz zwischen den Beinen - autsch/touche etc :) !! –

+0

Oh, schau mal, wie jemand mein kleines Lieblingsprojekt einsteckt: D – zowens

Antwort

5

Also die Frage ist, warum das zweite Codebeispiel nicht wie erwartet funktioniert. Hier ist die Antwort, Post gibt derzeit nichts zurück. Dies ist ein Beispiel für einen bestimmten Entwickler, der die Details des Codes nicht betrachtet. Wenn Sie homePageUrl verwenden, ist der Wert nicht definiert.

tatsächlich Um die Homepage-URL zu erhalten, sollten Sie Folgendes tun:

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

So ist die Moral der Geschichte, dass der Code ein bisschen gebrochen ist. Die Aktion Beitrag sollte ein Objekt zurück, wo Sie „tourl()“ direkt nach der Post setzen kann durchgeführt wird, wie folgt aus:

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

Ich werde diesen Fehler in einem Bit werden Befestigung!

+2

+1 - für eine bescheidene Antwort;). plus ein kleines Häkchen, wie es die Antwort ist - ja ... danke !! –

+1

Es ist jetzt behoben ... Ich kann nicht glauben, dass ich das in meinen Blogbeitrag geschrieben habe. Ich muss etwas vorsichtiger sein! – zowens

+1

Zack - selbst die "Besten" von uns können auf unsere Schwerter fallen :-). werde das Update später auschecken und nochmals vielen Dank. –