CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

请教asp.net中javascritp问题

楼主kkkkkka(kkkkkka)2005-11-13 11:48:48 在 .NET技术 / ASP.NET 提问

在用户控件中写javascript代码,并且调用,运行时提示javascript语法错误这几个字,但是把这个页面的HTML源代码保存成HTML文件时,打开却没有任何错误,可以正常显示效果,  
  在网上查了下,一般的都说是编码的问题,先后把web.config中的所有的关于utf-8的编码都改成了gb2312,可是还是不能解决问题,有人说要把那几个文件都用notpad重新存为utf-8编码,也试过了,也是不能解决问题.不知道是怎么回事.  
  我的开发环境是windows2003server,ie6,vs.net2003 问题点数:100、回复次数:36Top

1 楼Allan1668(影子传说)回复于 2005-11-13 12:06:09 得分 5

 
  vs.net2003IDE   查错很严格,也很死板,  
  检查一下用户控件的源码,对照提示的“javascript语法错误”检查  
   
   
  我也是菜鸟---Top

2 楼xrascal(横刀夺爱)回复于 2005-11-13 12:14:32 得分 5

怎么调用的?看看?Top

3 楼cshmai(四海为家)回复于 2005-11-13 12:20:31 得分 5

把错误的代码贴出来看看Top

4 楼zeusvenus()回复于 2005-11-13 12:30:43 得分 5

我觉得可能就是html语法错了什么的,可能不是编码问题。  
  它提示你哪一行哪个字符错了你就仔细看看。Top

5 楼kkkkkka(kkkkkka)回复于 2005-11-13 12:46:44 得分 0

<tr>  
  <td   align=right><a   href="javascript:window.external.addFavorite('http://localhost/mysite','demo--localhost/mysite');">收藏本站</a>  
  </td>  
  </tr>  
  =================================================================  
  上边是源码,点击后网页的标题栏显示:"语法错误   -     Microsoft   Internet   Explorer"  
  这就是我上面说的语法错误,当然没有办法知道是什么错误更不知道是哪一行了.  
  可是把这个页面的html源代码保存成html文件,执行却没有任何问题.Top

6 楼kkkkkka(kkkkkka)回复于 2005-11-13 17:10:40 得分 0

<%@   Page   language="c#"   Codebehind="WebForm1.aspx.cs"   AutoEventWireup="false"   Inherits="mysite.WebForm1"   codePage="936"%>  
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN"   >    
   
  <html>  
      <head>  
  <title>WebForm1</title>  
          <meta   name="GENERATOR"   Content="Microsoft   Visual   Studio   .NET   7.1">  
          <meta   name="CODE_LANGUAGE"   Content="C#">  
          <meta   name=vs_defaultClientScript   content="JavaScript">  
          <meta   name=vs_targetSchema   content="http://schemas.microsoft.com/intellisense/ie5">  
      </head>  
      <body   MS_POSITIONING="GridLayout">  
  <script   language=javascript>  
  function   aaa()  
  {  
  alert(1);  
  //window.external.addFavorite('http://localhost/mysite','tt');  
  }  
  </script>  
          <form   id="Form1"   method="post"   runat="server">  
  <table   width="100%">  
  <tr>    
  <td   align=right><input   type=button   onclick="aaa();"><a   href="#"   onclick="javascript:aaa();">fff</a></td>  
  </tr>  
  </table>  
          </form>  
   
      </body>  
  </html>  
  ===============================================  
  上面的是我新写的测试页,问题就是在这个页面中根本不能识别javascript,为什么呢?Top

7 楼hchxxzx(NET?摸到一点门槛)回复于 2005-11-13 17:41:20 得分 5

你上面写的测试页面,能正常运行吗?  
  如果连上面的都不能运行,可能是你机器本身的问题,比如说脚本运行文件被破坏,或者是你的浏览器禁止脚本?Top

8 楼kkkkkka(kkkkkka)回复于 2005-11-13 17:55:31 得分 0

诸位老大,这几个页面都是不能运行javascript,而把它们的源代码另存成的html却都能运行javascript了,这说明不会是机器的问题,也不会是浏览器禁止脚本的问题了,  
  我猜也许是和操作系统windows2003server或者页面文件编码类型有关系吧?你们说说.  
  Top

9 楼renyu732(Sysinfo)回复于 2005-11-13 18:11:23 得分 5

将你的Js代码在.cs文件中注册.  
                  如下代码所示.  
                  string   strReason   =   "Hello,World.";  
                  string   jsStr="<script   language=javascript>function   Test(){";  
                  jsStr   +=   "window.alert('"   +   strReason   +   "');}</";  
                  jsStr   +=   "script>";  
                  if   (!this.IsClientScriptBlockRegistered("myJsTest"))  
                  {  
                          this.RegisterClientScriptBlock("myJsTest",   jsStr);  
                  }Top

10 楼CnEve(龙哥哥)回复于 2005-11-13 20:25:29 得分 5

你系统上的脚本引擎可能有问题,建议换别的机器试试。Top

11 楼kkkkkka(kkkkkka)回复于 2005-11-13 22:00:29 得分 0

如何修复系统上的脚本引擎?Top

12 楼cityhunter172(寒羽枫)回复于 2005-11-14 00:36:53 得分 5

把   IE   的安全属性降低Top

13 楼yilan505(蓝衣紫痕)回复于 2005-11-14 18:18:01 得分 5

呵呵...这个问题超级简单....  
   
  在文件里有一个高级保存...你把那个什么代码页选有签名的UTF-8就可以了.  
   
  我就是这么搞的..然后通过....我用的是国外的一个免费服务器哦....Top

14 楼kkkkkka(kkkkkka)回复于 2005-11-14 21:36:27 得分 0

高级保存?   文件里?   能具体一点吗?Top

15 楼kkkkkka(kkkkkka)回复于 2005-11-14 21:50:11 得分 0

to:yilan505(蓝衣紫痕)  
  有试过了,还是不行啊,是不是还有什么步骤你忘了说?Top

16 楼zxly369(小兔)回复于 2005-11-15 09:59:32 得分 5

是不是这一段的问题:  
  <%@   Page   language="c#"   Codebehind="WebForm1.aspx.cs"   AutoEventWireup="false"   Inherits="mysite.WebForm1"   codePage="936"%>  
  定义了这个页面的语言为"c#",好像就不能再用其它的脚本语言了。  
  我也碰到过类似的问题,最后干脆把建了个HTML文档包含JavaScript,再把HTML文档  
  用<iframe>标记插到.aspx文件中。Top

17 楼YPerson()回复于 2005-11-15 10:10:57 得分 5

也许是空格问题,如:中全角空格,建议你重新输入一便,程序没有问题的Top

18 楼kkkkkka(kkkkkka)回复于 2005-11-15 10:41:51 得分 0

请各位达人注意一下:  
  1.把这些出现错误的页面的源代码保存成的html文件却没有错误  
  2.开发机器的操作系统是windows   2003   server,以前用win2k时没有出现过这种问题.Top

19 楼goody9807(http://goody9807.cnblogs.com)回复于 2005-11-15 10:47:50 得分 5

假设web   application的编码规则是utf-8,那么js文件中如果有中文就会出现乱码(有可能是其它的页面不正常的情况)    
     
          解决这个问题请在引用javascript的地方加上charset="gb2312"或者charset="big5"  
     
  例如:<script   type="text/javascript"   language="javascript"   src="scripts/function.js"   charset="gb2312"></script>   <SCRIPT   language=javascript   src="scripts/function.js"   type=text/javascript   charset=gb2312>    
  Top

20 楼kkkkkka(kkkkkka)回复于 2005-11-15 11:24:32 得分 0

楼上的老大,有中文时有错误,没有中文时也是有错误啊.  
  还有我的javascript真接写在了aspx页面里,很简单的  
  ======================================  
  <%@   Page   language="c#"   Codebehind="WebForm1.aspx.cs"   AutoEventWireup="false"   Inherits="mysite.WebForm1"   %>  
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN"   >    
   
  <html>  
      <head>  
  <title>WebForm1</title>  
          <meta   name="GENERATOR"   Content="Microsoft   Visual   Studio   .NET   7.1">  
          <meta   name="CODE_LANGUAGE"   Content="C#">  
          <meta   name=vs_defaultClientScript   content="JavaScript">  
          <meta   name=vs_targetSchema   content="http://schemas.microsoft.com/intellisense/ie5">  
      </head>  
      <body   MS_POSITIONING="GridLayout">  
  <script   language=javascript>  
  function   aaa()  
  {  
  alert(1);  
  //window.external.addFavorite('http://localhost/mysite','tt');  
  }  
  </script>  
          <form   id="Form1"   method="post"   runat="server">  
  <table   width="100%">  
  <tr>    
  <td   align=right><input   type=button   onclick="aaa();"><a   href="#"   onclick="javascript:aaa();">fff</a></td>  
  </tr>  
  </table>  
          </form>  
   
      </body>  
  </html>  
  Top

21 楼net_lover(【孟子E章】)回复于 2005-11-15 13:01:24 得分 4

把你的js文件另存为utf-8即可Top

22 楼kkkkkka(kkkkkka)回复于 2005-11-15 13:16:07 得分 0

孟子老大,我并没有使用js文件,是直接写到aspx页面里的Top

23 楼cityhunter172(寒羽枫)回复于 2005-11-15 20:34:20 得分 4

你指的出错是报什么样的错??  
  若看不到,按以下步骤打开脚本调试(可使用   VS.NET   调试脚本出错的地方)  
   
  控件面板   →   Internet   选项   →   高   级   →   在内容的中下部分可以找到“禁止脚本调试”的选项,去掉勾   →   确定  
   
  之后,一旦脚本出错就会弹出提示框,问你要不要进行调试。Top

24 楼cityhunter172(寒羽枫)回复于 2005-11-15 20:42:56 得分 4

把  
    <a   href="#"   onclick="javascript:aaa();">fff</a>  
  换成  
    <a   href="javascript:aaa();">fff</a>  
  Top

25 楼kkkkkka(kkkkkka)回复于 2005-11-15 23:10:08 得分 0

to:   cityhunter172(寒羽枫)  
   
  1.我所说的出错并不是什么具体的错误,而是点了下根本没有反应,就像没有javascript代码一样.  
   
  2.  
  把<a   href="#"   onclick="javascript:aaa();">fff</a>换成<a   href="javascript:aaa();">fff</a>  
  的结果就是地址栏里的地址变成了:   "javascript:aaa();"Top

26 楼cityhunter172(寒羽枫)回复于 2005-11-15 23:50:19 得分 4

2.  
  把<a   href="#"   onclick="javascript:aaa();">fff</a>换成<a   href="javascript:aaa();">fff</a>  
  的结果就是地址栏里的地址变成了:   "javascript:aaa();"  
  ________________________________________________________  
   
  你是不是在弹出的模式对话框使用、或是要框架中使用??  
  也就是说,你指定了整张页面的   target  
  若是的话,请不要使用   <a>   或者加上   target="_self"   试试Top

27 楼mg1616(内网)回复于 2005-11-16 00:41:48 得分 4

以前碰到过类似的问题,那时候asp.net还没出来  
   
  依稀记得好象要把所有   vbscript   代码放到   jscript   的后面,不知道   aspx   是否在前面自动产生了   vbscriptTop

28 楼kkkkkka(kkkkkka)回复于 2005-11-16 09:10:13 得分 0

to:   cityhunter172(寒羽枫)  
  不是模式对话框,也没用框架,就是一个普通页面  
  ---------------------------------------------  
  to:     mg1616(内网)  
  默认的是javascript,我在页面中也只用了javascript  
  ---------------------------------------------  
  以前在win2000中做开发没出现过这种问题Top

29 楼caicaibao(菜菜(包))回复于 2005-11-16 10:28:46 得分 4

保存.js,.css等时,请选用编码方式UTF-8,不然莫明出错只能怪自己Top

30 楼kkkkkka(kkkkkka)回复于 2005-11-16 10:38:18 得分 0

楼上老大,没有使用js文件和css文件,脚本是直接写到页面里的Top

31 楼cityhunter172(寒羽枫)回复于 2005-11-16 11:10:48 得分 4

Win2003   的   IE   6   的安全等级默认是“高安全等级”,请查看:  
        控制面板   →   Internet选项   →   安全   →   Internet网络   →   自定义等级   →   脚本处理   →   Active   Scripting   →   开启  
   
  你也可以这样降低等级  
          控制面板   →   Internet选项   →   安全   →   Internet网络   →   默认等级   →   将出现的滑动块降到“中级”  
   
   
  若以上还不行,重装系统吧,我是没招了Top

32 楼vivi8233(吐司)回复于 2005-11-16 13:44:00 得分 4

你是不是装了3721什么的   弹出窗口给禁止了Top

33 楼net_lover(【孟子E章】)回复于 2005-11-16 14:03:58 得分 4

经测试你的代码没有问题。我们这边可以运行的。Top

34 楼kkkkkka(kkkkkka)回复于 2005-11-16 14:58:33 得分 0

to:   孟子  
  我的代码是在操作系统windows2003server,开发环境vs.net2003下面,本机做服务器,本机的浏览器,条件下出现问题的Top

35 楼yefeihaha(学习)回复于 2005-11-16 16:06:34 得分 4

是你的机器的原因哦   我用你的代码测试也没有问题   呀     能允许的   弹出1Top

36 楼kkkkkka(kkkkkka)回复于 2005-11-17 08:47:28 得分 0

是浏览器安全设置问题Top

相关问题

  • (100)IIS 中 ASP。NET
  • 该死!ASP。NET中的FTP?
  • ASP。NET中,引用出错?
  • 初学ASP。NET
  • 问题。ASP。NET
  • c#.net 中的session如何传给asp
  • asp文件中放.net目录
  • ASP。NET怎么了??
  • ASP。NET的问题!
  • 请问如何把ASP升级到ASP+/aSP。NET,ASP+/ASP。NET有什么区别??

关键词

  • asp.net
  • vs.net

得分解答快速导航

  • 帖主:kkkkkka
  • Allan1668
  • xrascal
  • cshmai
  • zeusvenus
  • hchxxzx
  • renyu732
  • CnEve
  • cityhunter172
  • yilan505
  • zxly369
  • YPerson
  • goody9807
  • net_lover
  • cityhunter172
  • cityhunter172
  • cityhunter172
  • mg1616
  • caicaibao
  • cityhunter172
  • vivi8233
  • net_lover
  • yefeihaha

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo