System.Web.Optimization.Styles.Render无法在@if语句中呈现

时间:2016-04-06 20:55:49

标签: asp.net-mvc razor

我在cshtml页面中有这个。

<head>
@if (MethodCallThatReturnsBool())
{
    System.Web.Optimization.Styles.Render("~/css/bundle");
}
</head>

如果MethodCallThatReturnsBool返回true,则不会呈现任何脚本。如果我将Render语句移出@if块:

<head>
@System.Web.Optimization.Styles.Render("~/css/bundle");
</head>

我的包的文件列在head标签中。

为什么Render调用在@if块内不起作用?

1 个答案:

答案 0 :(得分:2)

不同之处在于,当它工作时,您将#include <stdio.h> #include <unistd.h> int main() { int *ptam, tam = 33; printf("size of int = %d",sizeof(int)); //=>4 byte while(1==1) { ptam = &tam; printf("&tam = %p\n",&tam); printf("ptam = %p\n",ptam); printf("\n"); printf("tam = %d\n",tam); printf("*ptam = %d\n",*ptam); printf("\n"); *ptam = 44; printf("tam = %d\n",tam); printf("*ptam = %d\n",*ptam); sleep(10); } return 0; } 替换为头部添加的此调用的文本输出,以便浏览器可以解析它并执行相对请求。 当你使用&#34; if&#34;你在一个声明中,所以你必须像这样手动渲染@System.Web.Optimization.Styles.Render("~/css/bundle");的输出:

@System.Web.Optimization.Styles.Render("~/css/bundle");