/ / Refering jQuery w cshtml przy pomocy HTML Helper - jquery, model-view-controller, html-helper, global-asax

Polecenie jQuery w cshtml przy pomocy helpera HTML - jquery, model-view-controller, html-helper, global-asax

Zazwyczaj polecam jQuery za pomocą:

<script src="@(Url.Content("~/JavaScript/jquery.maskedinput-1.2.2.js"))" type="text/javascript"></script>

Odnoszę tę samą Jquery na wielu stronach. Każda zmiana w treści statycznej (nazwa lub numer wersji) wymaga zaktualizowania wszystkich widoków w celu uwzględnienia zmiany. Aby rozwiązać ten problem, próbowałem utworzyć trasy w pliku Global.asax dla pliku Jquery, jak poniżej

routes.MapRoute("jquery.maskedinput.js", "Javascript/jquery.maskedinput-1.2.2.js");

i próbowałem wywołać go w cshtml przy użyciu Pomocnika HTML jak poniżej

 <script src="@Html.RouteLink("maskedinput","jquery.maskedinput.js") " type="text/javascript"></script>

Wiem, że RouteLink zwraca tag zakotwiczenia, więc źródło nie jest poprawnie ustawione do załadowania Jquery.

Wymagania:

  1. Czy jest jakiś inny pomocnik HTML, który może zwrócić tylko wirtualny ścieżka (lub)
  2. Muszę odwoływać się do Jquery z nazwą nie ze ścieżką. Ścieżka należy zadeklarować gdzieś na całym świecie, aby jedna zmiana w plik globalny może rozwiązać cel.

Pomóż mi proszę.

Odpowiedzi:

2 dla odpowiedzi № 1

Używam tej metody dla siebie BundleCollection z System.Web.Optimization widzieć moje pytanie, ale nadal działa to bez niego.

namespace PROJECT.Classes
{
public class JSBundles
{
public static string Test = "/scripts/test.js";
}

następnie użyj go w ten sposób:

<script src="@(JSBundles.Test)" type="text/javascript"></script>

który renderuje

<script src="/scripts/test.js" type="text/javascript"></script>

Pamiętaj, że wymaga to odniesienia do twojego widoku PROJECT.Classes lub gdziekolwiek to umieścisz. Mam tę konfigurację w sobie web.config w folderze widoków.

....
<add namespace="PROJECT.Classes" />
</namespaces>
</pages>
</system.web.webPages.razor>

1 dla odpowiedzi nr 2

Możesz użyć popularnego i niesamowitego RequireJS do wstrzykiwania jquery (i wszelkich innych zależności js) za pomocą javascript zamiast obsługiwać je ręcznie

http://requirejs.org/docs/jquery.html zawiera instrukcje konfiguracji i użytkowania