我有一个asp.net表单,其中包含一些html,2个控件来自AjaxControlToolkit的日历和一个自定义的SandTrap.WebControls文本框,它可以在我们运行此表单的其他几个服务器上正常运行。然而,在一台服务器上它打破了,当我调试javascript时,似乎我有一个损坏的MicrosoftAjax.js被下载 - 它说意外的令牌非法
以下是MicrosoftAjax.js第2932行中的内容
Sys.UI.Key.prototype = {
backspace: 8,
tab: 9,
enter: 13,
esc: 27,
...
126�=NCys.UI.�ey.ra�isterEnum("Sn2.UI.Key");
我做的第一件事是将网站目录与其他服务器进行比较 - 相同。检查MicrosoftAjax.js是否已损坏。一切都是一样的。那可能是什么呢?
编辑:罪魁祸首是ajaxToolkit:ToolkitScriptManager肯定。当我删除它时,页面加载正常。 我在MicrosoftAjax.js上进行了比较,没有任何不同之处。我甚至用我的电脑中的另一个替换了该文件仍然没有运气。
编辑:似乎如果我在web.config中将debug设置为false,则错误消失。关于可能导致这种情况的任何其他想法?我看了.debug js文件,它看起来很好。
重新安装ajaxtoolkit会有所帮助吗?或者我是否需要重新安装.net框架?
答案 0 :(得分:1)
打开记事本,将代码放在那里,然后保存回来(确保它不保存Unicode)。有人可能已经打开它并用Wordpad或一些文字处理器保存它。因此,在视觉上,事物可能“看起来”正确,但它们不会。
您还可以针对已知正常文件和错误文件运行COMP。或者只是将已知的好文件复制到坏文件
人类是计算过程中最不值得信赖的元素。