在Visual Studio 2012中编辑标记/ aspx时,只要它们不包含特殊服务器标记(例如Response.Write <%= 的快捷方式),就可以显然崩溃javascript函数。
示例:
可以崩溃:
function foo() {
var x = 0;
}
可以不崩溃:
function bar() {
var x = $find("<%= txtWhatever.ClientID %>");
}
我注意到,只要您添加开头标记&lt;%= ,就会在单词功能左侧的折叠选项( - ) 消失了,所以我知道这就是问题所在。
无论大小/内容如何,它似乎都会打破整个功能的崩溃。
我已尝试使用Web Essentials插件以及Advanced Javascript outlining插件,但似乎也不适用于具有此特定内容的函数。
有没有办法让包含这些类型标签的函数可折叠?
谢谢 -
答案 0 :(得分:4)
仅解决方法:
将每个函数包装在自己的脚本标记中。
JS团队显然已经开启了一个关于此问题的错误。
答案 1 :(得分:0)
我使用“三脚本”模式:
页面级变量。
'Getter / Setter'函数返回对服务器控件或获取/设置值的引用。
例如:
function GetTxtUserNameVal() {
var rtn = $('#<%= txtUsername.ClientID %>').val();
return rtn;
}
function SetTxtUserNameVal(arg) {
$('#<%= txtUsername.ClientID %>').val(arg);
}
function GetUserDetailsGrid() {
return $find('<%= gridUserDetails.ClientID %>');
}
功能:
在这些中,我使用上面的getter / setter函数而不是服务器标记。
现在我可以折叠脚本,也可以单独折叠函数脚本中的所有函数。