Visual Studio 2010有一个很酷的新功能。您现在可以添加转换文件,这些文件将根据您正在编译的配置更改web.config文件。其结果是您可以更改各种环境的web.config文件(例如:dev,staging,production等)。
对于web.config文件来说,这一切都很好,但是其他可能需要这种温柔关怀的页面呢。例如,我们的母版页指向不同环境中的CSS文件的不同位置(是的,我知道,这不是我的想法,我无法改变它)。是否有一种很酷和/或优雅的方式来进行改变?
我尝试过使用
<appSettings>
<add key="pathPrefix" value="/OAFA/" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
</appSettings>
然后在母版页中添加以下内容。 PathPrefix是一个简单的属性,只是查询Web配置中的值。
<script src="<%= PathPrefix %>scripts/jquery-1.3.2.js" type="text/javascript"></script>
这对于剧本来说很有用,但是为此付出了沉思......
<link rel="Stylesheet" href="<%= PathPrefix %>css/main.css" />
在这种情况下,它只对“&lt;%=”和“%&gt;”进行编码这远远不够理想。有什么想法吗?
答案 0 :(得分:1)
为您的链接添加ID和runat =“server”属性,如下所示:
<link id="StylesheetLink" runat="server"
rel="stylesheet" href="stylesheet1.css" type="text/css" />
然后你可以在代码隐藏中以编程方式更改样式表的源代码:
StylesheetLink.Attributes["href"] = "stylesheet2.css";