Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc CSS包含在MVC中_Asp.net Mvc_Include - Fatal编程技术网

Asp.net mvc CSS包含在MVC中

Asp.net mvc CSS包含在MVC中,asp.net-mvc,include,Asp.net Mvc,Include,因此,我知道有多种方法,但是我想知道根据我所在的页面动态包含特定CSS的“正确”方法。我可以在站点主控中包含所有这些内容,但是我想知道我是否可以仅在需要时包含它们,通过计算URL或通过控制器传递显示标志的值,或者仅将其包含在内容页中(标题标记之外)。。。我想保持它干净,并通过我的网站主链接他们所有,但我想能够评估我的网页上,然后我包括CSS。。。。。思想???无论发生什么事情,都会是这样: <% if( someCriteria ) { %> <stylesheet ty

因此,我知道有多种方法,但是我想知道根据我所在的页面动态包含特定CSS的“正确”方法。我可以在站点主控中包含所有这些内容,但是我想知道我是否可以仅在需要时包含它们,通过计算URL或通过控制器传递显示标志的值,或者仅将其包含在内容页中(标题标记之外)。。。我想保持它干净,并通过我的网站主链接他们所有,但我想能够评估我的网页上,然后我包括CSS。。。。。思想???

无论发生什么事情,都会是这样:

<% if( someCriteria ) { %>
   <stylesheet type="text/css" href="mypath" />
<%} %>

你可以用助手或其他什么东西来包装它,但我认为没有最佳实践或“更干净”的方式来做这么简单的事情

“我可以将它们全部包含在网站主控中,但我想知道是否可以仅在需要时才将它们包含在网站主控中”


另一种方法是,CSS文件由浏览器缓存,因此您也可以将其包含一次,然后使用它完成。您的访问者的初始加载时间可能稍长一些,但如果您将CSS文件保持在较小的范围内,这几乎不会引起注意。使其动态化对性能几乎没有什么好处。

我通常会在中向主控形状添加一个,以允许页面在其中包含内容。通常是脚本,而不是样式表,但两者都适用


我还投票赞成使用Html助手来处理这个问题,这样开发者就不必关心样式表的加载位置了

如果您使用的是Spark view引擎,则可以在css include上使用
一次
属性。我个人只是把所有东西都放在网站主控器上,让浏览器处理缓存


好的、坏的或无关紧要的,多年来我一直在母版页上做的事情是在母版页的
部分包含
内容占位符。然后我可以通过它注入特定于页面的CSS,而不是用大量的处理逻辑来扰乱我的母版页。我正在用我的ASP.NET MVC解决方案做同样的事情。

谢谢。。。有道理。。。。对于.NET场景来说仍然是新的。。。。至于前端加载,将所有样式都放在一个文件中,对于初始加载,您几乎一针见血,这就是为什么我宁愿将其分解为更小的块。。。多人可以修改文件,而不必担心会同时重叠其他人的更改…我总是通过helper加载它-因为它允许我在运行时构建路径,并允许我将缓存和压缩过滤器附加到它,我也可以在测试时禁用(或每5分钟更改一次CSS).