2012-10-06 18 views
9

Ho creato l'applicazione Web ASP.NET MVC 3 predefinita. Poi ho aggiunto tre CSS e tre file js a \ Visualizzazioni \ Shared_Layout.cshtml vista:Combinazione e minimizzazione di JS e CSS in ASP.NET MVC

<!DOCTYPE html> 
<html> 
<head> 
    <title>@ViewBag.Title</title> 
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 
    <link href="@Url.Content("~/Content/StyleSheet1.css")" rel="stylesheet" type="text/css" /> 
    <link href="@Url.Content("~/Content/StyleSheet2.css")" rel="stylesheet" type="text/css" /> 

    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/JScript1.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/JScript2.js")" type="text/javascript"></script> 

</head> 
<body> 
    <div class="page"> 
     <div id="header"> 

....

quando faccio funzionare l'applicazione, ho codice HTML è

<!DOCTYPE html> 
<html> 
<head> 
    <title>Home Page</title> 
    <link href="/Content/Site.css" rel="stylesheet" type="text/css" /> 
    <link href="/Content/StyleSheet1.css" rel="stylesheet" type="text/css" /> 
    <link href="/Content/StyleSheet2.css" rel="stylesheet" type="text/css" /> 

    <script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script> 
    <script src="/Scripts/JScript1.js" type="text/javascript"></script> 
    <script src="/Scripts/JScript2.js" type="text/javascript"></script> 

</head> 
<body> 
    <div class="page"> 

E 'possibile avere un gestore di MVC di cambiare il mio output HTML a piacere:

<!DOCTYPE html> 
    <html> 
    <head> 
     <title>Home Page</title> 
     <script src="js.axd=/Scripts/jquery-1.5.1.min.js,/Scripts/JScript1.js,/Scripts/JScript2.js" type="text/javascript"></script> 
     <link href="css.axd=/Content/Site.css,/Content/StyleSheet1.css,/Content/StyleSheet2.css" rel="stylesheet" type="text/css" /> 
    </head> 
    <body> 
     <div class="page"> 

Così il link js.axd=/Scripts/jquery-1.5.1.min.js,/Scripts/JScript1.js,/Scripts/JScript2.js restituirà il contenuto di tutti questi file js al browser e il collegamento css.axd=/Content/Site.css,/Content/StyleSheet1.css,/Content/StyleSheet2.css restituirà il contenuto di tutti i file css.

Ho fatto qualcosa in precedenza in ASP.NET di IHttpHandler, ma non riesco a capire come farlo in MVC, dato che sono solo l'antipasto di MVC.

Qualsiasi aiuto e codice di esempio sarà apprezzato. Grazie!

risposta

0

Io uso cassette nei miei progetti. Inoltre, questo elenco here contiene i primi 20 in Nuget.