Css链接可以';是否从asp.net中的代码后面调用变量?

Css链接可以';是否从asp.net中的代码后面调用变量?,asp.net,Asp.net,我在aspx中这样写: <link type="text/css" href='/theme<%=theme%>/top.css' rel="stylesheet" /> <%= "<link type=\"text/css\" href='/theme" + theme + "/top.css' rel=\"stylesheet\" />" %> 但结果是: <link type="text/css" href="/theme&am

我在aspx中这样写:

<link type="text/css" href='/theme<%=theme%>/top.css' rel="stylesheet" />
<%= "<link type=\"text/css\" href='/theme" + theme + "/top.css' rel=\"stylesheet\" />" %>

但结果是:

<link type="text/css" href="/theme&lt;%=theme%>/top.css" rel="stylesheet" />


令人惊讶的是,在js中使用并没有问题。

这是因为您的
链接位于服务器上运行的
标记中。head标记是“smart”,因为当它看到
标记时,它允许您实际使用应用程序相对路径语法:~/。因此,如果您这样做(在您的头标签内):


您将看到它实际上会工作(也就是说,它会将tilde扩展到站点的正确位置),即使您没有说过runat server。当然,不利的一面是当你不希望它这样做的时候可能最简单的解决方案是自己手动构建标记,如下所示:

<link type="text/css" href='/theme<%=theme%>/top.css' rel="stylesheet" />
<%= "<link type=\"text/css\" href='/theme" + theme + "/top.css' rel=\"stylesheet\" />" %>

这是因为您的
链接位于服务器上运行的
标记内。head标记是“smart”,因为当它看到
标记时,它允许您实际使用应用程序相对路径语法:~/。因此,如果您这样做(在您的头标签内):


您将看到它实际上会工作(也就是说,它会将tilde扩展到站点的正确位置),即使您没有说过runat server。当然,不利的一面是当你不希望它这样做的时候可能最简单的解决方案是自己手动构建标记,如下所示:

<link type="text/css" href='/theme<%=theme%>/top.css' rel="stylesheet" />
<%= "<link type=\"text/css\" href='/theme" + theme + "/top.css' rel=\"stylesheet\" />" %>

您不能将表达式与
一起使用,而是必须在页面加载事件中编写以下代码以插入


您不能将表达式与
一起使用,而是必须在Page\u Load事件中编写以下代码以插入