2012-08-22 16 views
1

ASP.NET前端.aspx頁面(部署時隱藏代碼)。使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;,並且不知何故,這個代碼即使在部署時也會被擊中!

SOLUTION ::感謝@Icarus測試 web.config中的環境也有

<compilation debug="true">

因爲這對我們發展的環境中只能工作我必須做的事情:

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

我看不到任何生成「#fillForm」按鈕的代碼 – outcoldman

回答

1

這意味着您的Web.config生產中編輯部分仍然有debug=true。部署到Production時,應始終將標誌設置爲false。性能受到影響,它可能會暴露更多有關異常的細節,而不是用戶希望看到的細節。

+0

它就是這樣!發現我需要測試一些更具體的知道它是我們的開發人員web.config:'如果System.Configuration.ConfigurationManager.AppSettings(「Environment」)。ToUpper()=「DEVELOPMENT」Then' –

+0

@mcpDESIGNS很高興你得到它正在工作,但您仍應在生產環境中將標誌設置爲false。 – Icarus

+0

顯然我們需要它從測試人員那裏獲取堆棧跟蹤信息,但我們會研究它以確定是否需要這些信息。再次感謝! –

1

根據您的說法,Context.IsDebuggingEnabled必須在您的現場測試環境中爲真。

相關問題