错误框如下图:
代码也很简单,缩减如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Edit.aspx.cs" Inherits="Sales.Edit" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script language="javascript" type="text/javascript" src="somejs.js" />
</head>
<body>
<form id="form1" runat="server">
<script language="javascript" type="text/javascript">
function foo()
{
//some code
}
</script>
<asp:TextBox ID="txtCode" runat="server" onblur='foo()'></asp:TextBox>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script language="javascript" type="text/javascript" src="somejs.js" />
</head>
<body>
<form id="form1" runat="server">
<script language="javascript" type="text/javascript">
function foo()
{
//some code
}
</script>
<asp:TextBox ID="txtCode" runat="server" onblur='foo()'></asp:TextBox>
</form>
</body>
</html>
错误指在这行
<asp:TextBox ID="txtCode" runat="server" onblur='foo()'></asp:TextBox>
错误消息就是:Error: Object expected.因为其他的浏览器运行正常,也没有看出哪里代码不对.所以有点见鬼的味道.
调试过程如下:
1.把此页面生成的html代码另存一份到相同的目录下,如err.hmtl.
2.逐步删除不相干的代码,再在IE中浏览err.html,看删除那些代码后脚本能正确执行了.
当删除<script language="javascript" type="text/javascript" src="somejs.js" />后,发现能正常工作了.
本以为是这个js文件编码的问题.但是都更改成了utf-8后问题依旧.
后来偶然看到引用js文件是这样的格式<script language="javascript" type="text/javascript" src="somejs.js" ></script>
然后把上面的代码改成/>改成</script>后.问题解决.
看来,这点懒还是偷不得啊.虽然其他的浏览器认识,VS的设计器也认识.但是IE不认啊!!
PS:
博客园的代码着色器倒是一目了然啊....