如何在ASP.NET MVC 2项目中以编程方式设置样式表?

时间:2011-01-21 08:05:56

标签: css asp.net-mvc site.master

所以......这是我在MVC2项目中的site.master ASPX文件的上半部分:

<head runat="server">
   <link href="<%= ViewData[SomeNamespace.StyleSheetKey]; %>" rel="stylesheet" type="text/css" />
</head>
<div foo="<%= (string) ViewData[SomeNamespace.StyleSheetKey] %>">bar</div>

现在div标签正确呈现样式表名称,但link-tag中的那个名称在写入时呈现,而不被解释。此外,还添加了路径前缀。

所以ASP.NET引擎似乎想要对链接标记中的href-参数中的文本进行麻烦,“帮助”我使用正确的相对路径为我的.css文件添加前缀。

我现在如何能够以编程方式设置样式表的名称?

2 个答案:

答案 0 :(得分:1)

这将有效

 <link href="<%= "" + ViewData[SomeNamespace.StyleSheetKey] %>" rel="stylesheet" type="text/css" />

但这不是

  <link href="<%= (string)ViewData[SomeNamespace.StyleSheetKey] %>" rel="stylesheet" type="text/css" />

或者正如The_Butcher所说,从标题

中删除runat="server"

答案 1 :(得分:1)

好的,请尝试从<head>标记

中删除runat =“server”标记