最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ASP.NET MVC下Bundle的使用方法

 更新時間:2017年08月22日 10:01:09   作者:zhjchhahaha  
這篇文章主要為大家詳細介紹了ASP.NET MVC下Bundle的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

ASP.NET MVC中Bundle是用于打包捆綁資源的(一般是css和js),它是在全局文件Global.asax.cs中注冊Bundle,而注冊的具體實現(xiàn)默認是在App_Start文件夾的BundleConfig.cs中

public class MvcApplication : System.Web.HttpApplication
{
 protected void Application_Start()
 {
  AreaRegistration.RegisterAllAreas();
  FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
  RouteConfig.RegisterRoutes(RouteTable.Routes);
  BundleConfig.RegisterBundles(BundleTable.Bundles);
 }
}

BundleConfig.RegisterBundles(BundleTable.Bundles); 在應(yīng)用程序啟用時注冊Bundle

public class BundleConfig
{
 // 有關(guān)綁定的詳細信息,請訪問 http://go.microsoft.com/fwlink/?LinkId=301862
 public static void RegisterBundles(BundleCollection bundles)
 {
  bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
     "~/Scripts/jquery-{version}.js"));

  bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
     "~/Scripts/jquery.validate*"));

  // 使用要用于開發(fā)和學(xué)習(xí)的 Modernizr 的開發(fā)版本。然后,當你做好
  // 生產(chǎn)準備時,請使用 http://modernizr.com 上的生成工具來僅選擇所需的測試。
  bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
     "~/Scripts/modernizr-*"));

  bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
     "~/Scripts/bootstrap.js",
     "~/Scripts/respond.js"));

  bundles.Add(new StyleBundle("~/Content/css").Include(
     "~/Content/bootstrap.css",
     "~/Content/site.css"));
 }
}

為了便于說明,這里在HomeController下新建一個Action,如下:

public ActionResult BundleTest()
{
 return View();
}

這里以使用Bootstrap為例,在視圖中使用@Styles.Render() 和@Scripts.Render() 引入css和js,參數(shù)是在BundleConfig注冊的名稱

@{
 Layout = null;
}
<!DOCTYPE html>
<html>
<head>
 <meta name="viewport" content="width=device-width" />
 <title>BundleTest</title>
 @Styles.Render("~/Content/css")
</head>
<body>
 
 @Scripts.Render("~/bundles/jquery", "~/bundles/bootstrap")
</body>
</html>

瀏覽頁面,查看源代碼,可以看到:

bundles.Add(new StyleBundle("~/Content/css").Include(
      "~/Content/bootstrap.css",
      "~/Content/site.css")); 

由于在BundleConfig.cs中注冊上面的Bundle,@Styles.Render("~/Content/css")渲染時是引入~/Content/bootstrap.css和~/Content/site.css,js的渲染同理
為了驗證是否真正引入了BootStrap的css與js資源,這里添加了一些簡單的BootStrap示例代碼,如下:

@{
 Layout = null;
}
<!DOCTYPE html>
<html>
<head>
 <meta name="viewport" content="width=device-width" />
 <title>BundleTest</title>
 @Styles.Render("~/Content/css")
</head>
<body>
 <div class="container">
  <div class="header clearfix">
   <nav>
    <ul class="nav nav-pills pull-right">
     <li role="presentation" class="active"><a href="#">首頁</a></li>
     <li role="presentation"><a href="#">關(guān)于我們</a></li>
     <li role="presentation"><a href="#">聯(lián)系我們</a></li>
    </ul>
   </nav>
  </div>
  <form class="form-horizontal">
   <div class="form-group">
    <label for="username" class="col-sm-2 control-label">用戶名</label>
    <div class="col-sm-10">
     <input type="text" class="form-control" id="username" placeholder="用戶名">
    </div>
   </div>
   <div class="form-group">
    <label for="password" class="col-sm-2 control-label">密碼</label>
    <div class="col-sm-10">
     <input type="password" class="form-control" id="password" placeholder="密碼">
    </div>
   </div>
   <div class="form-group">
    <label for="code" class="col-sm-2 control-label">驗證碼</label>
    <div class="col-sm-10">
     <input type="text" class="form-control" id="code" placeholder="驗證碼">
    </div>
   </div>
   <div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
     <div class="checkbox">
      <label>
       <input type="checkbox"> 記住我
      </label>
     </div>
    </div>
   </div>
   <div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
     <button type="submit" class="btn btn-default">登錄</button>
    </div>
   </div>
  </form>
  <footer class="footer">
   <p>&copy; 2017 Zhong.</p>
  </footer>

 </div> <!-- /container -->
 @Scripts.Render("~/bundles/jquery", "~/bundles/bootstrap")
</body>
</html>

前臺瀏覽看效果(當瀏覽器足夠大時是橫向平鋪的,如果將瀏覽器縮小,則是垂直平鋪,示例中的表單部分最能體現(xiàn)出來):

改進

上面的Bundle是引入了未壓縮的css和js資源,但在實際應(yīng)用中,出于為了減輕服務(wù)器負載等原因,需要引入壓縮版的資源(一般是在未壓縮的命名后面加上min來命名,如jquery.js的壓縮版【有些叫法是精簡版】是jquery.min.js)
于是修改BundleConfig.cs

重新編譯,再次瀏覽剛才的頁面,這時發(fā)現(xiàn)引入了壓縮版的資源(css/js)

注:由于示例時使用了ASP.NET MVC 5( .Net Framework 4.5),而在.net framework 4中的asp.net mvc 4可能會有下面的情況:

在頁面查看源代碼時發(fā)現(xiàn)腳本缺少引入~/Scripts/bootstrap.min.js,這是asp.net mvc 4使用的System.Web.Optimization.dll默認使用了忽略規(guī)則*.min.js,這時可以在BundleConfig.cs的RegisterBundles中清除忽略規(guī)則

該解決方法一是通過反編譯System.Web.Optimization.dll并結(jié)合反編譯的代碼得出來的,另外也可以參考這個鏈接

另外就是在部署生產(chǎn)環(huán)境時發(fā)現(xiàn)無效,因為生產(chǎn)環(huán)境不再是debug模式,此時需要設(shè)置:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • asp.net發(fā)送郵件實現(xiàn)方法

    asp.net發(fā)送郵件實現(xiàn)方法

    這篇文章主要介紹了asp.net發(fā)送郵件實現(xiàn)方法,以一個具體實例的形式詳細講述了asp.net發(fā)送郵件的技巧,需要的朋友可以參考下
    2014-10-10
  • ASP.NET:一段比較經(jīng)典的多線程學(xué)習(xí)代碼

    ASP.NET:一段比較經(jīng)典的多線程學(xué)習(xí)代碼

    ASP.NET:一段比較經(jīng)典的多線程學(xué)習(xí)代碼...
    2006-09-09
  • vs2010無法添加dll引用的處理方法

    vs2010無法添加dll引用的處理方法

    vs2010無法添加dll引用的處理方法,需要的朋友可以參考一下
    2013-03-03
  • asp.net的web頁面(aspx)數(shù)據(jù)量過多時提交失敗對策

    asp.net的web頁面(aspx)數(shù)據(jù)量過多時提交失敗對策

    asp.net的web頁面,數(shù)據(jù)量過多時提交失敗的情況想必有很多朋友都有遇到過吧,下面與大家分享下詳細的解決方法
    2013-05-05
  • 如何對ASP.NET網(wǎng)站實現(xiàn)靜態(tài)化

    如何對ASP.NET網(wǎng)站實現(xiàn)靜態(tài)化

    對于訪問量比較大的網(wǎng)站,網(wǎng)頁靜態(tài)化是一個比較可靠的解決方案。靜態(tài)化將顯著降低服務(wù)器的壓力,提升服務(wù)器處理能力。下面將介紹兩種不同的實現(xiàn)方法,并進行對比。
    2015-09-09
  • 基于asp.net下使用jquery實現(xiàn)ajax的解決方法

    基于asp.net下使用jquery實現(xiàn)ajax的解決方法

    本文以最簡單的方法為新手示范如何使用jquery實現(xiàn)ajax技術(shù)(所以本文是專為新手所寫,老鳥勿噴,大神此處省略一萬字)。至于什么是jquery什么是ajax,自己谷歌去
    2013-05-05
  • .Net通過TaskFactory.FromAsync簡化APM

    .Net通過TaskFactory.FromAsync簡化APM

    這篇文章介紹了.Net通過TaskFactory.FromAsync簡化APM的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Asp.Net Core對接釘釘群機器人的完整步驟記錄

    Asp.Net Core對接釘釘群機器人的完整步驟記錄

    這篇文章主要給大家介紹了關(guān)于Asp.Net Core對接釘釘群機器人的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • asp.net?core?+?jenkins?實現(xiàn)自動化發(fā)布功能

    asp.net?core?+?jenkins?實現(xiàn)自動化發(fā)布功能

    這篇文章主要介紹了asp.net?core?+?jenkins?實現(xiàn)自動化發(fā)布功能,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • Asp.Net Core中WebSocket綁定的方法詳解

    Asp.Net Core中WebSocket綁定的方法詳解

    WebSocket 是一種在單個 TCP 連接上進行全雙工通訊的協(xié)議,是建立在TCP上、且獨立的協(xié)議。下面這篇文章主要給大家介紹了關(guān)于Asp.Net Core中WebSocket綁定的方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-12-12

最新評論

方正县| 睢宁县| 洛浦县| 河东区| 奉化市| 海城市| 商水县| 琼结县| 清远市| 德钦县| 吴堡县| 米林县| 博湖县| 古丈县| 彰化县| 德庆县| 兴国县| 虹口区| 凤翔县| 淅川县| 竹北市| 古田县| 忻城县| 望谟县| 准格尔旗| 平安县| 长乐市| 汉阴县| 平泉县| 瑞金市| 牙克石市| 皮山县| 丽江市| 绥德县| 长寿区| 两当县| 泸水县| 麻阳| 泸溪县| 新巴尔虎左旗| 洪泽县|