當我在本地測試我的Asp.Net webforms頁面時,我厭倦了所有jscript社交窗口小部件/分析初始化混亂了我的調試輸出。所以,我在HTML標記嘗試這樣做:在javascript條件下使用asp.net內聯標籤
<script>
if (<%= !Request.IsLocal ? "true" : "false" %>) {
這實際上發出正確的JScript代碼(「如果(真)」),沒有運行時錯誤,但Visual Studio中不喜歡它。我在關閉')'時收到語法錯誤。絕對不喜歡看編譯錯誤,即使它們是假的,每編譯一次也是如此。
我改成了比較字符串,如
if ("<%= Request.IsLocal %>" === "False") {
其中一期工程,併發出類似代碼「如果(‘真’===‘假’)」,但是......這只是爐排我的神經看起來很醜。這只是一個Visual Studio的怪異,或者有沒有更好的方式來使用jscript條件中的asp.net服務器布爾值?
取決於他們的安置等如果你真的想避免這種情況,你就必須創造背後的代碼,你的JavaScript
是的,根據我的問題,這是我目前使用的解決方案。我的問題是,是否有更好的方法,或者這是否只是一些VS intellisense古怪。 – 2013-03-13 23:08:43
VS intellisense只是混淆,因爲你在混合使用JavaScript和ASP.NET代碼。當您將ASP.NET代碼放在引號內時,intellisense會將其視爲JavaScript字符串,但編譯器會正確替換尖括號<%= %>內的值,因此VS中沒有「投訴」。我的建議是關於在你的JavaScript代碼上隔離這個「醜陋」。另一種做法是從你的代碼中插入JS代碼,但我認爲這並不簡單。 – Floremin 2013-03-14 16:02:55
是的,這似乎是最有意義的這種情況,謝謝。 – 2013-03-15 17:45:14