在视图中包含CSS文件

时间:2009-09-07 05:22:17

标签: asp.net asp.net-mvc

在我看来,我已将主页面包括如下:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Mall.Master" Inherits="System.Web.Mvc.ViewPage<DomainModel.Entities.Seller>" %>

在我的Mall.master文件中,我添加了一个包含常规css文件的链接

      <link rel="Stylesheet" href="../../Content/MallMaster.css"  type="text/css" />

但是,我在视图中需要另一个更具体的css文件CheckOut.css。由于Checkout.css中定义的样式仅适用于一个页面,因此我不希望将该文件包含在母版页中。有没有办法在我的视图中包含该文件?

2 个答案:

答案 0 :(得分:6)

您应该在MasterPage中添加一个新的content()占位符,然后在您的视图中,您可以向此占位符添加另一个css。

&lt; asp:ContentPlaceHolder ID =“head”runat =“server”&gt;         &LT;标题&GT;&LT; /标题&GT;      &lt; link rel =“样式表”href =“../../ Content / MallMaster.css”type =“text / css”/&gt;     &LT; / ASP:的ContentPlaceHolder&GT;

这可能对您有所帮助 - How to pass page’s meta tags in ASP.NET MVC?

答案 1 :(得分:1)

如果您不想覆盖主广告中的现有广告代码,您也可以在<{1}}广告代码内添加内容占位符

head

在你看来:

<head runat="server">
    <title>
        <asp:ContentPlaceHolder ID="title" runat="server">
            Default Title</asp:ContentPlaceHolder>
    </title>
    <!-- The ContentPlaceHolder is placed inside the title tag to make sure that the
         document validates in the VS editor - <title> needs to be a direct child of
         <head>. The output will validate. -->

    <script src="theAllFamous_jQuery.js" type="text/javascript" />
    <link href="sitewide.css" type="text/css" rel="Stylesheet" />
    <asp:ContentPlaceHolder ID="headContent" runat="server />
</head>

这样您就不必在网站上的所有头标记中复制所需的代码。