使ASP.NET代码块仅对.aspx前端页面上的调试/开发可见

时间:2012-08-22 14:25:17

标签: jquery asp.net debugging

ASP.NET前端.aspx页面(部署时隐藏代码)。

我正试图为我们的开发人员提供一个自动填充这个巨大形式的按钮,我唯一能找到的就是:

<script>
    $(function () {
        <% If (Context.IsDebuggingEnabled) Then %>
            $('#fillForm').show().on('click', function () {
                // nothing special here, loops through items and fills them in
            });
        <% End If %>

        // other normal JS code here
    });
</script>

问题是当项目被推入 live 测试环境时,他们仍然会看到按钮!它起始于:display:none;,并且即使在部署时也会以某种方式触发此代码!

解决方案::感谢@Icarus 测试环境web.config也有

<compilation debug="true">

只有在我必须做的开发环境中才能工作:

<% If (System.Configuration.ConfigurationManager.AppSettings("Environment").ToUpper() = " DEVELOPMENT") Then %>
  // stuff here
<% End if %>

2 个答案:

答案 0 :(得分:1)

根据您的陈述,Context.IsDebuggingEnabled必须在您的实时测试环境中为真。

答案 1 :(得分:1)

这意味着您的Web.config生产中的debug=true在编译部分中仍然有false。部署到Production时,应始终将标志设置为{{1}}。有一个性能损失,它可能会暴露更多关于异常的细节,而不是希望用户能够看到的。