除了“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版本中解决此问题?
答案 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)