1

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>

问题是当项目被推入现场测试环境时,他们仍然看到按钮!它以: 开头display:none;,不知何故,即使在部署时,这段代码也会被命中!

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

<compilation debug="true">

为了让它只在我们的开发环境中工作,我必须这样做:

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

2 回答 2

1

这意味着您Web.config的生产中仍然有debug=true编译部分。false在部署到生产环境时,您应该始终将标志设置为。这会影响性能,并且它可能会暴露更多关于异常的详细信息,而不是希望用户能够看到。

于 2012-08-22T14:39:55.710 回答
1

根据您的说法,Context.IsDebuggingEnabled在您的实时测试环境中必须是正确的。

于 2012-08-22T14:28:33.947 回答