ASPX 页面类似 SlowChetah 的转换?

发布于 2025-01-01 09:09:00 字数 213 浏览 1 评论 0原文

是否有一种可接受的方法来根据 Visual Studio 中选择的配置生成 ASPX 页面的 HTML/ASP 部分(而不是隐藏的代码)?例如,我想在我的开发登陆页面上显示不同的标题图形(通知用户他们正在查看开发的标题),以及生产构建的不同图形。

我使用 SlowChetah 来转换我的配置文件,所以我的第一个想法是对 ASPX 页面使用类似的东西,但我还没有找到有关此类功能或特性的任何信息。

Is there an acceptable way to generate the HTML/ASP portion of an ASPX page (not the code behind) based on the configuration selected in Visual Studio? For example, I want to display different header graphics on my Development landing page (a header that notifies the user they are looking at Development), and different graphic for Production build.

I use SlowChetah for transforming my config files, so my first thought was to use something like that for ASPX pages, but I haven't found any information regarding that sort of functionality or feature.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

巷子口的你 2025-01-08 09:09:00

这可以通过使用 T4 文本模板 与 DTE 对象结合来实现,如从T4 文本模板,获取当前构建配置并生成 ASPX 所需的部分:

<#@ template hostspecific="true" #>
<#@ output extension=".aspx" #>
<#@ assembly name="EnvDTE" #>
<#@ import namespace="EnvDTE" #>
<#
// Get the environment object
IServiceProvider serviceProvider = (IServiceProvider)Host;
DTE dte = serviceProvider.GetService(typeof(DTE)) as DTE;

// Get the active build configuration object
var activeConfiguration = dte.Solution.SolutionBuild.ActiveConfiguration;

// Generate customized ASPX content
if (activeConfiguration.Name == "Debug")
{
#>

<h1>Debug</h1>

<#
}
else
{
#>

<h1>Release</h1>

<#
}
#>

然后可以将模板的输出包含在实际的 ASPX 页面中,例如通过 Literal 控件,或作为用户控件。

This could be achieved using the T4 text templates in combination with the DTE object, as described at the bottom of Accessing Visual Studio or other Hosts from a T4 Text Template, to get the current build configuration and generate the required portion of the ASPX:

<#@ template hostspecific="true" #>
<#@ output extension=".aspx" #>
<#@ assembly name="EnvDTE" #>
<#@ import namespace="EnvDTE" #>
<#
// Get the environment object
IServiceProvider serviceProvider = (IServiceProvider)Host;
DTE dte = serviceProvider.GetService(typeof(DTE)) as DTE;

// Get the active build configuration object
var activeConfiguration = dte.Solution.SolutionBuild.ActiveConfiguration;

// Generate customized ASPX content
if (activeConfiguration.Name == "Debug")
{
#>

<h1>Debug</h1>

<#
}
else
{
#>

<h1>Release</h1>

<#
}
#>

The output of the template could then be included in the actual ASPX page, e.g. via a Literal control, or as a user control.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文