在webcontrol 里的RenderControl 里调用 注册脚本方法会失效???我的页面里没有Header Runat="server" 的, 我补回上去也不行Type registerType = this.Page.GetType();
if (!this.Page.ClientScript.IsClientScriptIncludeRegistered(registerType,"jquery"))
                this.Page.ClientScript.RegisterClientScriptInclude(registerType,"jquery", "/js/jquery.js");页面输出以后没有任何的script是什么原因?我断点调试
this.Page.ClientScript.RegisterClientScriptInclude(registerType,"jquery", "/js/jquery.js");
以后
this.Page.ClientScript.IsClientScriptIncludeRegistered(registerType,"jquery")   返回 true然后因为我的webcontrol 在页面上有两个实例
所以再第二个实例的RenderControl 方法里我断点判断
this.Page.ClientScript.IsClientScriptIncludeRegistered(registerType,"jquery") 返回 false这是什么原因?如果我的head标记里有些不规则的内容会影响么?

解决方案 »

  1.   

    对了顺带提一下,我的webControl 是继承TextBox 的
      

  2.   

     IsClientScriptBlockRegistered 当脚本通过RegisterClientScriptBlock()方法注册到页面时,返回true;
     IsClientScriptIncludeRegistered 当一个外部脚本文件引用已经通过RegisterClientScriptInclude()方法注册到页面中时,返回true;
     IsOnsubmitStatementRegistered 当脚本已经通过RegisterOnSubmitStatement()方法注册到页面中时,返回true;
     IsStartupScritpRegistered 当脚本已经通过RegisterStartupScript()方法注册到页面时,返回true;
    protected override void OnPreRender(EventArgs e)
           {
                    if (!Page.ClientScript.IsClientScriptIncludeRegistered(""))
                    {
                        Page.ClientScript.RegisterClientScriptInclude("", ResolveClientUrl("~/js/j.js"));
                    }
                }
                base.OnPreRender(e);
            }