我们注意到,有时从AJAX调用结果到控制器操作,JSON结果的情况不正确。如果我们重建我们的解决方案并尝试完全相同的调用,则返回的案例实际上会发生变化在下面的例子中,密钥的情况已经纠正了一年多,直到现在它决定根据一些看似随意的情况随机改变。
正如您在上图中所看到的,JSON结果的关键是小写“成功”。但是,当我在Chrome控制台中查看结果时,它是一个大写的“成功”。这导致我们的JavaScript失败,因为它正在检查小写版本。
造成这种情况的原因是什么?更重要的是,我们如何阻止这种情况?
答案 0 :(得分:5)
vb.net
不区分大小写,而<{1>} 区分大小写。这意味着编译器将为以下每种匿名类型仅生成一个类(来自第一个实例):
C#
VB $ AnonymousType_0&#39; 1个
VB $ AnonymousType_0&#39; 1个
VB $ AnonymousType_0&#39; 1
以下是编译回vb.net时编译代码的样子:
Dim a = New With {.success = True} 'Compiler generate a class based on this type
Dim b = New With {.Success = True} 'Same type as `a`
Dim c = New With {.sUcCeSs = True} 'Same type as `a`
Debug.WriteLine(a.GetType().Name)
Debug.WriteLine(b.GetType().Name)
Debug.WriteLine(c.GetType().Name)