2011-07-24 31 views
12

以下代碼片段會在我的某個視圖中觸發「條件編譯已關閉」警告。你有關於如何解決它的想法嗎?條件編譯在混合剃刀和javascript時關閉了警告

<script type="text/javascript"> 
    $(document).ready(function() { 
     @RenderSection("JQueryDocumentReady",false) 
    }); 
</script> 

我試圖在分段渲染語句的末尾插入分號,但沒有幫助。

謝謝。

+0

注意別人:儘管在代碼中顯示的錯誤,剃刀代碼仍然執行/編譯正確。因此,編譯器能夠處理剃鬚刀/ JS,它只是智能感知或任何組件顯示出現問題的現成波形。 – AaronLS

回答

12

注意:因爲對問題的替代建議而接受的答案,而不是針對標題問題的解決方案。

我並不是100%確定條件編譯與<script>塊有什麼關係,但是我確實發現將括號括在括號中解決了問題。

@(RenderSection("JQueryDocumentReady")) 

雖然我認爲這種方法有一點代碼味道。只要有一個腳本部分併爲每個頁面上的文檔分配內容就不是問題。它確實不會節省你很多工作,並且它會迫使你按照你選擇的方式將javascript放在腳本標記之外的視圖上。

+5

這引入了另一個警告:*左括號中的無效字符*。我認爲這是一個失敗的原因。我們只需等待vNext中更好的Razor集成。 –

+0

@NickLarsen同意腳本標籤部分以外的JavaScript。感謝您的回答和建議。 – nakhli

+0

@DarinDimitrov:我現在看到它,只是沒有在編輯器中突出顯示它。 –

0

你可以嘗試

$(document).ready(function() { '@RenderSection("JQueryDocumentReady",false)'; });