Mam widok ASP.NET MVC 4, który dynamicznie ładuje dwa zagnieżdżone części do elementów <div>
poprzez wywołania JQuery AJAX. Każdy z elementów cząstkowych ma całkiem sporą ilość własnych skryptów JavaScript. Aby dostać to wszystko działa, obecnie mam cały JavaScript w success
każdego wywołania AJAX:Widoki JavaScript i MVC4 częściowe załadowane z AJAX
function LoadPartial(someImportantId) {
$.ajax({
url: '@Url.Action("LoadThePartial")' + '?id=' + someImportantId,
type: 'POST',
async: false,
success: function (result) {
$("#partialContainerDiv").html(result);
//here there be great piles of javascript
}
});
}
Ponieważ istnieją dwa z tych podszablonów i każdy wymaga setek linii JavaScript, główny plik widok jest coraz trudne do zarządzania. Chciałbym umieścić cały ten kod skryptu w osobnym pliku .js, ale wciąż jestem na tyle nowy, by JavaScript, który polegał głównie na narzędziach do debugowania skryptów Chrome i mam problem z ustaleniem, jak (i czy) Mogę pobrać ten skrypt do załadowania. Próbowałem:
- Dodanie skryptu obejmuje częściowy plik. W tym przypadku skrypt częściowy Javascript nadal nie jest ładowany w środowisku wykonawczym i apparently having includes in a partial view isn't a good idea anyway.
- Dodawanie skryptu należą do głównego widoku. To nie działa. Brak skryptu częściowego Javascript jest poprawny, co ma sens na poziomie synchronizacji .
Czy jest jakiś sposób, że mogę mieć oddzielny plik JavaScript AJAX załadowany częściowo i nadal mieć możliwość debugowania cząstkowe na kliencie? Co ważniejsze, gdzie umieścić wszystkie te JavaScript dla załadowanych widoków częściowych AJAX?
Czy istnieje sposób, w jaki mogę umieścić funkcje w oddzielnym pliku skryptu? –
Tak; w zasadzie owinąłbyś cały plik _DiagnosticAssessment.js_ w nazwaną funkcję, a następnie wywołaj tę funkcję po nazwie, aby _execute_ kod był gotowy. – Mathletics
Niestety, mam wiele wywołań składni brzytwy (np. '@ Url.Action()') w moim Javascript. Na szczęście, myślę, że mogę temu zaradzić przy pomocy http://stackoverflow.com/q/4624626/27457. Dzięki! –