求教:后台引用JS脚本和.NET 3.5的AJAX有冲突
我的代码一开始没有引用3.5的AJAX控件前什么问题都没有
加入了就不运行了
我已开始的代码ClientScriptManager CS = ((Page)HttpContext.Current.Handler).ClientScript;//自定义类中调用方法
CS.RegisterStartupScript(CS.GetType(), "myscript",
 "<script>window.onload=function(){bottom_info('" + Message + "');} </script>");
后来加的AJAX控件是这个       <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:Button ID="Button1" runat="server" Text="Button" />
            </ContentTemplate>        
        </asp:UpdatePanel>
为什么加了AJAX以后开始的代码就不运行了那

解决方案 »

  1.   

    你的那个JS代码是要页面运行的时候windwo.onload的时候执行,但是用了AJAX以后这个window.onload就不执行了,局部的刷新,不是整个页面刷新了。
      

  2.   

    代码改为:
    ClientScriptManager .RegisterStartupScript(this.UpdatePanel1.GetType(), "myscript",
     "<script>window.onload=function(){bottom_info('" + Message + "');} </script>",true);
      

  3.   

    ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "", "Demo()", true); 
      

  4.   

    3楼的 代码解决了这个问题我要是把代码放到类库里多次使用
    无法调用 page对象
    UpdatePanel1 怎么调用
    谢谢
      

  5.   


    你要明白 ClientScriptManager 跟 ScriptManager 的区别。后者,根本不需要Page对象。使用ScriptManager,它会自动适应使用asp.net ajax和不使用asp.net ajax的情况,也就是说它可以取代前者。
      

  6.   

    回复4楼的
    关键是有这2
    this.UpdatePanel1, this.GetType我把代码写到类里 说不存在this.UpdatePanel1
    怎么把值传到类里
      

  7.   


    没有必要使用UpdatePanel1(因为你是写在工具方法中的)。那个地方可以写任何Control,也包括Page。例如你的((Page)HttpContext.Current.Handler)。