有没有办法让Intellisense在没有“if(false)”黑客攻击的情况下在Visual Studio / MVC中工作?

时间:2010-07-01 18:54:54

标签: javascript asp.net-mvc visual-studio-2008 visual-studio-2010

除了“if(false)”hack之外,在使用服务器端Url.Content()方法重新构建Javascript文件时,有没有办法让Intellisense在VS 2010 / MVC中工作?

母版页:

<script src="<%=Url.Content("~/Scripts/jquery-1.4.2.js") %>" type="text/javascript"></script>

我知道if(假)黑客,但我希望有更优雅的解决方案。

if(false)hack:

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

Microsoft是否有计划在将来的VS版本中解决此问题?

4 个答案:

答案 0 :(得分:1)

我发现最好的方法是将JavaScript保存在单独的文件中,特别是当您主要使用jQuery进行事件驱动时。这样,您可以引用相关文件以获得完整的智能感知支持,并获得此方法带来的所有浏览器缓存优势。

答案 1 :(得分:1)

您可以将.js文件从解决方案资源管理器拖到代码窗口,该窗口生成以下行:/// <reference path="jquery-1.4.1-vsdoc.js" /> 它适用于依赖于其他JS文件的自定义JS文件(在我的情况下,jquery包含在母版页中)。

如果您在aspx内容文件中遇到问题 - 我使用的是T4MVC;我有<script src="<%: Links.Scripts.jquery_1_4_1_js %>" type="text/javascript"></script>,我也在那里得到了Intellisense ......

答案 2 :(得分:0)

我猜甚至Visual Studio的Intellisense对tag soup感到不舒服:-)不是真的回答你的问题,但你可以使用MVCContrib

<%= Html.ScriptInclude("~/scripts/jquery-1.4.2.js") %>

答案 3 :(得分:0)