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

あなたが述べていることによるとContext.IsDebuggingEnabled、あなたのライブテスト環境では真実でなければなりません。

于 2012-08-22T14:28:33.947 に答える
1

つまりWeb.config、本番環境にはまだdebug=trueコンパイルセクションがあります。false本番環境にデプロイするときは、常にフラグをに設定する必要があります。パフォーマンスが低下し、ユーザーに表示してもらいたいよりも多くの例外に関する詳細が公開される可能性があります。

于 2012-08-22T14:39:55.710 に答える