在母版页中使用ASP.NET内联表达式

时间:2013-01-12 22:44:52

标签: asp.net server-tags

  

可能重复:
  Inline tag not executing in an asp.net master page

我的母版页中有以下几行:

<script type="text/javascript" src="/Scripts/TimeClock/Themes/<%= ThemeName %>/jquery-ui-1.9.2.custom.min.js"></script>

<link href="/Styles/Themes/<%= ThemeName %>/jquery-ui-1.9.2.custom.css" rel="stylesheet" type="text/css" />

所有内容编译都很好,但是当我运行我的Web应用程序时,我的css文件无法加载。原因是当我在渲染页面上查看源时,会出现以下情况:

<script type="text/javascript" src="/Scripts/TimeClock/Themes/Smoothness/jquery-ui-1.9.2.custom.min.js"></script>

<link href="/Styles/Themes/&lt;%= ThemeName %>/jquery-ui-1.9.2.custom.css" rel="stylesheet" type="text/css" />

所以看来我的ASP.NET Server标记适用于脚本行,但不适用于CSS行。有谁知道我做错了什么以及如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

当你把它放在标题中并且标题包含在服务器上运行时,你不能使用它来自标题过滤器的out传递,它也会改变你有问题的部分。

通过传递它使用文字控件并在后面的代码上完全呈现它,例如:

<asp:Literal runat="server" id="txtScriptOnheader" EnableViewState="false" />

以及代码背后:

txtScriptOnheader.Text = "<link href=\"/Styles/Themes/\""  + ThemeName + "/jquery-ui-1.9.2.custom.css\" rel="stylesheet\" type=\"text/css\" />";