2011-10-20 18 views
7

Ucieczka z automatu do golenia bije ze mną. Buduję url do paszy do $ .load metody jQuery:Siła brzytwy, aby nie uciec od url

<script> 
$("#baz").load('@Url.Action("Method", new { foo=Model.Foo, bar=Model.Bar })'); 
<script> 

Problem URL wychodzi uciekł w emitowanym skryptu (& == &)

<script> 
$("#baz").load('Method?foo=Foo&amp;bar=Bar'); 
<script> 

Tak Dławiki MVC na żądanie informują, że parametr bar nie został podany.

Próbowałem owijać wywołanie w @ Html.Raw, ale nadal wydaje się uciec url. Z powrotem na planecie aspx, po prostu zrobiłbym <% = zamiast <%: ale oczywiście to nie jest dobre tutaj :). Próbowałem również umieścić parametry w obiekcie danych dla $ .load, ale to wydaje się wymuszać post, a nie get (i chcę dostać tutaj).

To jest coś, co mogłem naprawić za pomocą routingu, ale ten projekt jeszcze nie istnieje - nadal funkcjonuje bez marnowania rutingu. Z drugiej strony, muszę być w stanie ostatecznie skierować ten adres URL, więc nie chcę po prostu kodować kwerendy.

Jakieś myśli?

+0

Możesz odpowiedzieć na własne pytanie, czy pojawia się błąd? –

+0

Mówi mi, że muszę poczekać 8 godzin. – lamont

+0

Ahh, to jest do bani. Powinieneś przenieść to do odpowiedzi, kiedy możesz wtedy. –

Odpowiedz

14

Właśnie przeprowadziła test, a ampersand nie został zakodowany w moim teście z użyciem Html.Raw, tak:

@Html.Raw(Url.Action("Method", new { foo = Model.Foo, bar = Model.Bar })) 
Powiązane problemy