6

在 Visual Studio 2012 中编辑标记/aspx 时,您显然可以折叠 javascript 函数,只要它们不包含特殊的服务器标记,例如 Response.Write <%=的快捷方式。

例子:

可以崩溃:

function foo() {
    var x = 0;
}

不能倒塌

function bar() {
    var x = $find("<%= txtWhatever.ClientID %>");
}

我注意到,只要您添加开始标签<%= ,单词function左侧的折叠选项 ( - ) 就会消失,所以我知道这就是问题所在。

无论大小/内容如何,​​它似乎都会破坏整个功能的崩溃。

我已经尝试过Web Essentials插件以及Advanced Javascript 大纲插件,但似乎都不适用于具有此特定内容的功能。

有没有办法让包含这些类型标签的函数可折叠?

谢谢-

4

2 回答 2

4

只有一种解决方法:

将每个函数包装在其自己的脚本标记中。

JS 团队显然已经打开了一个关于此的错误。

于 2013-01-18T16:03:11.503 回答
0

我使用“三个脚本”模式:

脚本 1


页面级变量。


脚本 2


'Getter/Setter' 函数返回对服务器控件或获取/设置值的引用。

例如:

function GetTxtUserNameVal() {
    var rtn = $('#<%= txtUsername.ClientID %>').val();
    return rtn;
}

function SetTxtUserNameVal(arg) {
    $('#<%= txtUsername.ClientID %>').val(arg);
}

function GetUserDetailsGrid() {
    return $find('<%= gridUserDetails.ClientID %>');
}

脚本 3


职能:

在这些中,我使用上面的 getter/setter 函数而不是服务器标签。



现在我可以折叠脚本,也可以单独折叠 Functions 脚本中的所有函数。

于 2014-02-26T16:02:20.497 回答