2012-07-02 18 views

Odpowiedz

15

Nie, to nie jest możliwe, ponieważ MVC 3 jest kod po stronie serwera i jest oceniany przed wysłaniem do klienta, a klient kod javascript jest strona, która działa tylko gdy jest on na kliencie

ale odwrotna jest możliwa:

var jsVar = "@yourMvcVar"; 
+5

jest to możliwe z niektórymi work around .. zobacz moją odpowiedź – krilovich

73

to rzeczywiście jest bardzo możliwe, z następującymi:

var hello = "Great Job!"; 

var text = "@Html.ActionLink("Link text", "Action Name", new { id = "JSVar" })" 
text = text.replace("JSVar",hello); 

Tak proste! :)

Wszystko Link @ Html.Action robi jest utworzyć ciąg url Czyniąc wymienić na nim jest taka sama jak wymienić w dowolnym javascript ciąg

+5

Dobre obejście! Tylko upewnij się, że kod zamienny jest solidny, może przyjąć metodę typu string.Format: 'var text =" @ Html.ActionLink ("Tekst łącza", "Nazwa działania", nowy {id = "{0}"}) ";' nie jestem pewien, czy {0} będzie działać w tym pomocniku, ale dostaję mój dryf –

+4

Chciałbym przyjąć tę odpowiedź zamiast tej zaakceptowanej teraz. –

Powiązane problemy