我使用Visual Studio 2015中项目的更改目标平台将.Net 2.0的Web应用程序升级到.Net 4.5。
现在,在运行应用程序时,javascript验证似乎比以前更敏感。以下两个例子。
之前接受的此代码会出错: split不是函数
var sAreaList = oLogic.tocHelpers.fnGetAreaList("SE1");
var saAreas = sAreaList.split('|');
以下代码也被接受,现在导致无法读取属性'长度'未定义的
if (sItemList.length > 0) {.....}
有没有办法验证Javascript代码,以便它像以前一样工作?
答案 0 :(得分:0)
更有可能的是,fnGetAreaList("SE1")
点的呈现方式不同,而不是JS的问题。
尝试添加此项以使.NET 4渲染更接近以前的版本:
<pages controlRenderingCompatibilityVersion="3.5" />
同样值得查看breaking changes以查看是否有任何内容影响了您的应用。
答案 1 :(得分:0)
我从我的同事那里得到了对这个问题的解释。似乎来自.Net 3.5 Microsoft将响应封装在父对象中。
有关详细信息,请查看此文章。 http://encosia.com/a-breaking-change-between-versions-of-aspnet-ajax/
所以改变这一行
var saAreas = sAreaList.split('|');
...到...
var saAreas = sAreaList.d.split('|');
我又把事情搞砸了。