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

时间:2011-04-25 14:32:41

标签: asp.net-mvc-3

我想为我的MVC项目包含两个css文件。一个用于管理员端,另一个用于客户端。对于admin,我使用了shared / _Layout.cshtml文件,其中添加了以下代码行...

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

对于客户端,我试图在Store文件夹中使用Site.Master文件,该文件夹不在共享文件夹中,我在头文件夹之间添加了以下代码行...

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

在名为Store / index.cshtml的Views文件夹中,我包含了以下代码行...

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

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

所以我的第一个问题是可以为我的MVC项目使用两个css文件吗? 2,我是否以正确的方式接近了这个? 第3个问题,我该怎么做这个警告信息。

在我的客户端,我试图在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>

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

2 个答案:

答案 0 :(得分:1)

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

绝对

我是否以正确的方式接近了这一点?

您没有在<link>标记中使用正确的语法来解析CSS文件的网址。试试这个:

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

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

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

答案 1 :(得分:0)

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