2010-11-11 107 views
17

Visual Studio提供JavaScript Intellisense。足夠聰明的是,您可以查看您的母版頁中的JavaScript文件(例如jQuery文件),然後在應用程序的任何視圖中提供語句完成。然而,這似乎不適用於剃刀。有沒有辦法讓剃刀工作? ASPX視圖引擎提供這一招例如:<% /* %><script src="~/Scripts/jquery-1.4.1-vsdoc.js"></script><% */ %>參考Razor觀點中的JavaScript文件以獲取JavaScript Intellisense

回答

27

你應該能夠做這樣的事情:

@if (false) { 
<script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script> 
} 

這樣的代碼將永遠不會運行應用程序運行的時候,卻VS不會知道關於if (false),所以它會解析<script>標籤並允許Intellisense考慮它。在Razor文件中使用Razor註釋的問題是VS會識別它們,並完全忽略它們中的任何內容。例如,這是不行的:

@* <script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script> *@ 
+0

不是最乾淨的解決辦法,但可能是最好的,我們可以現在有。謝謝! – Konstantin 2010-11-13 10:06:56

+0

當在csproj文件中使用 true屬性時,上述方法會導致大量「警告無法檢測到的代碼」。 – JJS 2011-08-15 21:22:28

8

爲了防止約可達代碼編譯器警告,可以進一步與編譯包這樣的:

@{ #pragma warning disable } 
@if (false) 
{ 
    <script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script> 
} 
@{ #pragma warning restore }