官术网_书友最值得收藏!

Using CDN to load jQuery in MVC

Because of the advantages of using CDN in web applications, bundling also supports the loading of files directly from CDN. This recipe will explain how a MVC project can be configured to use CDN.

Getting ready

This recipe is a continuation of the previous recipe, Bundling jQuery in ASP.NET MVC. So, follow all the steps described in the previous recipe.

How to do it…

Following are the steps to load jQuery in MVC:

  1. In the BundleConfig module/class, modify the RegisterBundles method in order to set the UseCdn property to true, as shown in the code snippet in step 2.
  2. Declare the required CDN path, and add a ScriptBundle with two parameters: the virtual path of the bundle and the CDN path, as follows:

    For VB, the code is as follows:

    Public Module BundleConfig
       Public Sub RegisterBundles(ByVal bundles As BundleCollection)
          bundles.UseCdn = True
          Dim cdnPath As String =  "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.4.min.js"
    bundles.Add(New ScriptBundle("~/Scripts/jquery", cdnPath).Include("~/Scripts/jquery-{version}.js"))
       End Sub
    End Module

    For C#, the code is as follows:

    public class BundleConfig
    {
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.UseCdn = true;
            string cdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.4.min.js";
            bundles.Add(new ScriptBundle("~/Scripts/jquery", cdnPath).Include("~/Scripts/jquery-{version}.js"));
         }
    }

How it works…

Following are the steps to load jQuery in MVC using CDN:

  1. By setting the UseCdn property, serving of bundled scripts from the CDN is enabled.
  2. In the development mode, the application retrieves files from the local Scripts folder. In the release mode, the CDN path is used to serve the bundled scripts.
  3. However, there is a possibility that the CDN is down. Hence, a fallback mechanism is required so that the scripts are served locally in such a scenario. This can be done by adding the following <script> block in the required view:
    @Scripts.Render("~/Scripts/jquery")
    <script type="text/javascript">
       if (typeof jQuery == 'undefined') {
          var e = document.createElement('script');
          e.src = '@Url.Content("~/Scripts/jquery-2.4.1.js")';
          e.type = 'text/javascript';
          document.getElementsByTagName("head")[0].appendChild(e);
       }
    </script>

See also

The Hello World in ASP.NET MVC using jQuery recipe

主站蜘蛛池模板: 河西区| 平远县| 屯门区| 乐山市| 保定市| 曲靖市| 玉田县| 揭西县| 台中市| 寻乌县| 阳曲县| 葵青区| 灵川县| 灌云县| 桃江县| 伊吾县| 漾濞| 班戈县| 和平县| 南召县| 扶风县| 托克逊县| 杨浦区| 萝北县| 霍林郭勒市| 石屏县| 江达县| 南乐县| 安阳市| 沛县| 子长县| 新蔡县| 长葛市| 富川| 蓬安县| 佳木斯市| 通榆县| 临潭县| 临湘市| 靖州| 当涂县|