9

我创建了默认的 ASP.NET MVC 3 Web 应用程序。然后我在 \Views\Shared_Layout.cshtml 视图中添加了三个 css 和三个 js 文件:

<!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">

……

当我运行应用程序时,我的 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">

是否可以在 MVC 中有一个处理程序来将我的输出 html 更改为:

<!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">

所以链接js.axd=/Scripts/jquery-1.5.1.min.js,/Scripts/JScript1.js,/Scripts/JScript2.js 会返回所有这些js文件的内容给浏览器,链接css.axd=/Content/Site.css,/Content/StyleSheet1.css,/Content/StyleSheet2.css会返回所有css文件的内容。

我以前在 ASP.NET 中通过 IHttpHandler 做过一些事情,但不知道如何在 MVC 中做到这一点,因为我只是 MVC 的初学者。

任何帮助和代码示例将不胜感激。谢谢!

4

2 回答 2

13

您可以使用捆绑和缩小 nuget 包。捆绑和缩小

At the NuGet console type: "Install-Package Microsoft.AspNet.Web.Optimization"

这里的例子:

在 MVC 3 中使用 Web 优化

于 2012-10-06T06:29:23.560 回答
0

我在自己的项目中使用磁带。此外,此处的此列表包含 Nuget 中的前 20 名。

于 2014-11-20T23:53:36.510 回答