Najlepsze praktyki dotyczące przekazywania danych z asp.net-mvc do javascript

Ostatnio pracowałem z ASP.NET MVC i Javascript / jQuery i wydaje mi się, że zmierzam w kierunku, w którym zawsze muszę przekazać pewną dynamiczną wartość „do” mojego javascript. Kiedy skrypt znajduje się na stronie, zrobiłem coś takiego:

var isEditable = <%=ViewData["editable"]%>

Podoba mi się to, jak to jest szybkie i łatwe, i tak jakbym wstrzyknął wartość do HTML. Ale to pachnie. Naprawdę bardzo źle. Łamie także intellisense i formatowanie Visual Studio, dzięki czemu moje skrypty są trudne do odczytania i zrozumienia.

Przyszło mi do głowy, że innym rozwiązaniem byłoby przekazanie moich danych do ukrytego pola i posiadanie referencji Javascript, która ...

<input type="hidden" id="editable" value="<%=ViewData["editable"]%>" />
var isEditable = $("#editable").attr("value");

Jest to prawdopodobnie znacznie lepsze, ponieważ utrzymuje skrypt w stanie nienaruszonym i pozwala mi przenieść go do zewnętrznego pliku .js. Ale coś w tym rozwiązaniu też nie wydaje się idealne. Czy to tylko ja?

Czy każdy może polecić rozwiązania i najlepsze praktyki dotyczące przekazywania danych do skryptów? Czy udaję się na niewłaściwą ścieżkę, jeśli moje skrypty w dużej mierze opierają się na danych z moich kontrolerów?

questionAnswers(4)

yourAnswerToTheQuestion