日期:2014-05-17  浏览次数:20403 次

求助!!关于动态加载用户控件问题
有一个页面是通过点击Button调用LoadControl方法实现多个用户控件动态切换,Button点击运用了AJAX无刷新的效果,其中有个用户控件中包含一个自定义控件且自定义动控件有嵌入JS脚本,JS脚本注册是写在自定义控件中,代码如下:
protected override void OnPreRender(EventArgs e)
  {
  base.OnPreRender(e);
  string JsUrl = Page.ClientScript.GetWebResourceUrl(this.GetType(), "MyControl.Script.smanText.js");
  Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "smanText", JsUrl);
}
用AJAX切换到此用户控件时,页面没有注册JS脚本,页面显示JS错误。但是不用Ajax切换也就是页面有刷新的切换,页面却能正常的注册JS脚本,请问这个问题如何解决?最好有代码提示,谢谢了!

------解决方案--------------------

ScriptManager.RegisterClientScriptBlock
代替
Page.ClientScript.RegisterClientScriptInclude
------解决方案--------------------
C# code

ScriptManager.RegisterClientScriptInclude(
            this,
            typeof(Page),
            "AlertScript",
            ResolveClientUrl("~/scripts/script_alertdiv.js"));