试图在我的MVC项目中添加两个css文件

问题描述:

我想为我的MVC项目包含两个css文件。一个用于管理员端,另一个用于客户端。有关admin我已经使用的共享,我已经添加下面的代码行/ _Layout.cshtml文件...试图在我的MVC项目中添加两个css文件

<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 

对于客户端,我想使用的Site.Master文件中存储文件夹,这是未在共享文件夹,在这里我haved添加的头之间以下代码行...

<asp:ContentPlaceHolder ID="head" runat="server"> 
    <link href="~/Content/Style.css"" rel="stylesheet" type="text/css" /> 
</asp:ContentPlaceHolder> 

在我浏览文件夹,名为店/ index.cshtml我已经包括下面的代码行...

@{ 
    <link href="@Url.Content("~/Content/Style.css")" rel="stylesheet"  
    type="text/css" /> 
} 

b这是给我一个警告信息... 验证(XHTML 1.0 Transitional):元素'link'不能嵌套在元素'link'中。

所以我的第一个问题是有可能为我的MVC项目使用两个css文件?第二,我有没有找到正确的方法? 第三个问题,我该如何处理这个警告信息。

在我的客户端,我正在尝试在Site.Master文件中创建一个边栏,添加以下代码行......但是没有任何事情发生?

<title></title> 
<asp:ContentPlaceHolder ID="head" runat="server"> 
    <link href="~/Content/Style.css"" rel="stylesheet" type="text/css" /> 
</asp:ContentPlaceHolder> 

<!-- adding the following line of code --> 
<div id="header"> 
    <div class="title">My Project</div> 
</div> 
<div id="categories"> 
    Will put something useful here later 
</div> 

<form id="form1" runat="server"> 
<div> 
    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> 
    <div class="title">SPORTS STORE</div> 
    </asp:ContentPlaceHolder> 
</div> 
</form> 

我使用VS 2010,ASP.NET MVC 3在C#。如果有人能帮助我,请提前致谢?

是否有可能为我的MVC项目使用两个css文件?

绝对

有我这个接近正确的方法是什么?

您在<link>标记中没有使用正确的语法来将url解析为您的CSS文件。尝试使用:

<link href="<%=ResolveUrl("~/") %>Content/Style.css" 
    rel="stylesheet" type="text/css" /> 

我该如何处理此警告消息?

可能是一个错字,但你也有一个2结束双引号“”。如果您删除此警告消息应该消失。

+0

恐怕你提供的代码不起作用......我不得不改变为...... href =“@ResolveUrl(”〜/“)> Content/Style.css”rel =“stylesheet” type =“text/css”/>。错误信息:名称'ResolveUrl'在当前上下文中不存在。请你再看一遍 – DiscoDude 2011-04-25 14:51:46

找到了更好的方法。在视图/共享路径中添加了一个新的layout.cshtml文件。通过控制器创建新的index.cshtml时,您可以在Razor中选择新的layout.cshtml文件。在MVC 3中,你不需要定义Layout =“〜/ Views/Shared/_LayoutClient.cshtml”;在每个视图文件中。 _ViewStart.cstml已经为您创建。所以你可以避免干。