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 %>
答案 0 :(得分:1)
根据您的陈述,Context.IsDebuggingEnabled
必须在您的实时测试环境中为真。
答案 1 :(得分:1)
这意味着您的Web.config
生产中的debug=true
在编译部分中仍然有false
。部署到Production时,应始终将标志设置为{{1}}。有一个性能损失,它可能会暴露更多关于异常的细节,而不是希望用户能够看到的。