2013-02-11 9 views
7

Czekam na opinie na temat najlepszego i najłatwiejszego sposobu przekazania zmiennych po stronie serwera z działania kontrolera do znaczników HTML stron i do ich użycia przez javascript na stronie.przekazywanie zmiennych mvc po stronie serwera do javascript

Pracuję z asp.net mvc4 i próbuję znaleźć zalecaną metodę robienia tego.

+3

wyszukiwanie google daje mnóstwo wyników ... –

+1

@emrenevayeshirazi: Och, co za użyteczny komentarz na przepełnienie stosu! Sk8erPeter

Odpowiedz

19

Masz kilka opcji.

Jednym z nich jest dołączanie atrybutów danych lub identyfikatorów do elementów i pobieranie ich przy użyciu javascript.

Korzystanie widoki brzytwa:

<div id="someid" data-name="@item.attribute"></div> 

JS:

$('#someid').data('name') 

Albo można uczynić dane bezpośrednio do tagu skryptu.

Korzystanie brzytwa:

var somevar = "@item" 

Można również Json.Encode bardziej skomplikowanych obiektów.

var somevar = @Html.Raw(Json.Encode(object)) 
+4

Również dla podkreślenia odpowiedzi Declana, jeśli użyjesz 'var somevar =" @item ";' metodę, którą MUSISZ owinąć w cudzysłów, tak jak on, w przeciwnym razie może dać instrukcję, która brzmi jak var 'somevar =; '. To może wydawać się proste dla łańcuchów i takie, ale jest mniej oczywiste, gdy mamy do czynienia z zerowymi wartościami binarnymi, liczbami całkowitymi dopuszczalnymi zerami itp. –

+0

Polecam pierwsze podejście (w div- lub hidden input-tag) dla lepszego rozdzielenia treści i kod. W chwili, gdy musisz wprowadzić kod

Powiązane problemy