在Razor Mvc的_layout母版页中动态设置css文件名

时间:2013-04-24 13:19:44

标签: asp.net-mvc razor

我的_layout.cshtml

中引用了一个css文件
<link rel="stylesheet" type="text/css" href="//css/styles-640.css" />

有2个不同的版本(640和720)用于显示不同大小的页面

大小是查询字符串中的值

如何从查询字符串中读取值并将其动态注入.css文件的文件名?

这是在母版页(_layout.cshtml)中,它显然有很多不同的ViewModel,具体取决于呈现的视图

2 个答案:

答案 0 :(得分:2)

@if(Request["size"] == 640) {
    <link rel="stylesheet" type="text/css" href="//css/styles-640.css" />
} else {
    <link rel="stylesheet" type="text/css" href="//css/styles-720.css" />
}

答案 1 :(得分:0)

这很容易,在_layout.cshtml中使用条件 @if 。不记得调用强制转换函数。

Request.QueryString [“big”]和Request [“big”]相同

@if (Request.QueryString["big"].AsBool()==true)
{
    <link rel="stylesheet" type="text/css" href="//css/styles-720.css" />

}
else
{
    <link rel="stylesheet" type="text/css" href="//css/styles-640.css" />
}