这几天在看几位大大们的例子的时候,总是会看到有人问关于 关于"Sys"未定义的错误 , 而我自己也一直感到很庆幸,心想我自己为什么没有发现这个错误呢!??
今天中午在做练习的时候(使用客户端脚本对UpdateProgress编程),居然也发现了这个问题.....真是好晕啊,以前幸灾乐祸.......
只能Google了,看了好多关于 Web.Config 的解决方案,可我的和他们说的没区别啊,可还是不行...这时看了一下页面生成的源文件,顿时恍然大悟!!
错误:
源码:
.......
<!--我要调用的代码-->
<script language ="javascript" type ="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
function CancelAsyncPostBack()
{
if (prm.get_isInAsyncPostBack())
{
prm.abortPostBack();
}
}
</script>
<!--下面是页面的Html-->
</head>
<body>
<form name="form1" method="post" action="Default.aspx" id="form1">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTUyOTg1NTQyOQ9kFgICAw9kFgICAw9kFgJmD2QWAgIBDw8WAh4EVGV4dAURMjAwNy00LTYgMTQ6MDU6NDlkZGREYQN58Yj+m9IGN+2epJ2FNje08g==" />
</div>
<script type="text/javascript">
<!--
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
// -->
</script>
<!--这里才是关键-->
<script src="/TerryleeAjaxStudy/WebResource.axd?d=UFQkbcHWN57exE0SpCYaRw2&t=633088654060000000" type="text/javascript"></script>
<script src="/TerryleeAjaxStudy/ScriptResource.axd?d=2JLTz86mw9i3F9-cOuBKoPn4kWuUYxqaqYrTK5ZEXGiXCJVts1BhQPPE-lsYBPO3Co4PJZV7CEo_dR-PEdUtid6GlB3FC3FdPyFgmKCfS-o1&t=633108589400000000" type="text/javascript"></script>
<script src="/TerryleeAjaxStudy/ScriptResource.axd?d=2JLTz86mw9i3F9-cOuBKoPn4kWuUYxqaqYrTK5ZEXGiXCJVts1BhQPPE-lsYBPO3Co4PJZV7CEo_dR-PEdUtifwll-8QFJzlg0feOhuzoK_POVL9oSBZhsSxHELDiDLr0&t=633108589400000000" type="text/javascript"></script>
......
我想大家知道为什么了吧!?? 代码的先后顺序啊...........
也就是说下面才引用了 ScriptResource.axd , 你在上面就来用其中的 "Sys" 当然说未定义啦......
后来我把我调用的 JavaScript 放在了最后, OK,一切OK.....