在。net MVC4项目中@Styles如何。呈现作品吗?

我的意思是,在@Styles.Render(“~/Content/css”)中调用的是哪个文件?

我没有一个文件或文件夹称为“css”在我的内容文件夹。


当前回答

在你的web.config上设置为False

<compilation debug="false" targetFramework="4.6.1" />

其他回答

src="@url.content("~/Folderpath/*.css")"应该呈现样式

在你的web.config上设置为False

<compilation debug="false" targetFramework="4.6.1" />

我做了所有必要的事情,将捆绑添加到MVC 3 web(我是现有解决方案的新手)。风格。渲染不适合我。最后我发现我只是少了一个冒号。在母版页中:<%:Styles.Render("~/Content/Css") %>我仍然不明白为什么(在同一页上)<% Html.RenderPartial("LogOnUserControl");%>可以不带冒号。

有点晚了。但似乎没人提过 捆绑和缩小的StyleBundle,所以..

@Styles.Render("~/Content/css") 

在Application_Start()调用:

BundleConfig.RegisterBundles(BundleTable.Bundles);            

这反过来又要求

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new StyleBundle("~/Content/css").Include(
              "~/Content/bootstrap.css",
              "~/Content/Site.css"));
}

RegisterBundles()有效地组合和缩小了bootstrap.css和Site.css 放到一个文件里,

<link href="/Content/css?v=omEnf6XKhDfHpwdllcEwzSIFQajQQLOQweh_aX9VVWY1" rel="stylesheet">

但. .

<system.web>
  <compilation debug="false" targetFramework="4.6.1" />
</system.web>

仅当debug在Web.config中设置为false时。 否则bootstrap.css和Site.css将单独提供。 不捆绑的,不缩小的:

<link href="/Content/bootstrap.css" rel="stylesheet">
<link href="/Content/Site.css" rel="stylesheet">

它调用包含在App_Start文件夹的bundlecconfig类中声明的特定bundle中的文件。

在这种情况下,对@Styles.Render("~/Content/css")的调用将调用"~/Content/site.css"。

bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));