日期:2014-05-18  浏览次数:20393 次

一夜没有睡,百思不解,求求高人说说,用ClientScript.RegisterStartupScript,引起“未结束的字符串常量。”JS错误,如何解决。 1 0 0
namespace   Only
{
        public   partial   class   Test   :   System.Web.UI.Page
        {
                protected   void   Page_Load(object   sender,   EventArgs   e)
                {

                        ClientScriptManager   m   =   Page.ClientScript;
                   

                        String   jsurl   =   "JScript.js ";//这个JS是过滤特别键的。

                        string   name3   =   " ";

                        if   (!m.IsClientScriptIncludeRegistered(this.GetType(),   name3))
                        {
                                Page.ClientScript.RegisterClientScriptInclude(this.GetType(),   name3,   jsurl);
                        }


                        string   myscript   =   @ "javascript:window.document.body.onkeydown   =   DisableKey; ";
                        string   name2   =   "firstscript ";

                        if   (!m.IsStartupScriptRegistered( "firstscript "))
                        {
                                Page.ClientScript.RegisterStartupScript(this.GetType(),   name2,   myscript,   true);
                        }
                }
        }
}


JScript.js

function   DisableKey()
{
if(window.event.keyCode==8||event.keyCode==78||event.keyCode==37||event.keyCode==39||event.keyCode==116||event.keyCode==82||event.keyCode==121||event.keyCode==115||(window.event.srcElement.tagName   ==   "A "   &&   window.event.shiftKey))
{
alert( '请通过事物代码进行操作 ');
window.event.returnValue=false;

}
}

是在运行时,总是提错,说“未结束的字符串常量”,并指向alert( '请通……,

我分析可能是,javascript:window.document.body.onkeydown   =   DisableKey   没有找到导入的JScript.js中的代码,可是一看客户端源代码已经生成了
<script   src= "JScript.js "   type= "text/javascript "> </script>

那为什么还是找不到对象呢??

请高手说说,并帮我解决此问题,麻烦您了。

------解决方案--------------------
JS文件里有中文,看看是是不是字符集的问题?
将文件另存为和页面编码一样
或者指定JS文件的编码和页面编码一样
------解决方案--------------------
如果直接在页面