Visual Studio 2012中的Javascript函数崩溃不适用于jquery ajax语法

时间:2015-02-06 17:50:43

标签: visual-studio-2010 visual-studio-2012 visual-studio-2013

我在Visual Studio 2012中发现了这个恼人的问题,其中IDE没有折叠包含Ajax特定语法的JavaScript函数。

如果您将VS2012置于 .cshtml 文件中,则以下代码将不允许您折叠具有jquery语法的函数:

VS 2012示例代码

function HelloWorld()
{

}

function GoodByeWorld()
{

}

function UpdatePatientDiagnosis()
{
if (ValidateDiagnosisFields() == false)
    return;

var request = $.ajax({
    type: "POST",
    url: "@Url.Action("AjaxUpdatePatientDiagnosis", "Referral")",
    data: "{ CodeTypeId : \"" + $("#DiagnosisCodeType_Description option:selected").val() + "\"," +
          " Code: \"" + $("#Diagnosis_Code").val() + "\"," +
          " Description : \"" + $("#Diagnosis_Description").val() + "\" }",
    contentType: "application/json; charset=utf-8",
    dataType: "text"
});

request.done(function( msg ) 
{
    // Saves the rest of the form.
    $('#btnPatientSave').click();
});

request.fail(function( jqXHR, textStatus ) 
{
    ShowMessagePopup("Error", "An error occurred trying to update diagnosis.");
});

}

以下是VS 2012中示例代码的屏幕截图 enter image description here

但是,如果您使用相同的示例代码并将其放在VS 2010中的Web文件中,它就会崩溃。这是一个屏幕截图,显示它已折叠:

enter image description here

无论出于何种原因,VS 2012 IDE都不喜欢 request.done request.fail 的语法。

这只是非常讨厌,因为我正在开发一个拥有数千行JS函数的项目,而且我无法折叠那些具有这种特定jquery语法的项目。有关如何在VS2012中对其进行重组以使其正常工作的任何建议吗?我在VS 2013中进行了测试,它也遇到了同样的问题。

1 个答案:

答案 0 :(得分:0)

Ctrl + M,Ctrl + O折叠功能正文