2011-07-29 6 views
0

モーダルポップアップ用のASP.Netサーバーコントロールがあり、Telerik Ajaxを使用しています。ウィンドウがポップアップすると、マウスホイールを使用するとブラウザウィンドウがスクロールし続けるので、そのウィンドウを無効にします。Telerik Ajaxを使用したモーダルポップアップのASP.Netサーバーコントロールとブラウザウィンドウのスクロールを無効にする必要があります

javascriptを実行して、以下のようなサーバーコントロールからのアラートを表示しようとしましたが、何も起こりませんでした(実際には、ブラウザウィンドウのスクロールを無効にするためにコメント行を使用したかったのです)。サーバー制御コードはポストバック時に実行されます(初期ページの読み込み時ではありません)。他に何が必要なのかわからない

protected override void OnPreRender(EventArgs e) 
     { 
      base.OnPreRender(e); 
      //register javascript here if needed 
      AddScript(); 

     } 

     private void AddScript() 
     { 
      ClientScriptManager csm = this.Page.ClientScript; 
      string scriptblock = "<script type=\"text/javascript\">alert('hi');</script>"; 
      //string scriptblock = "<script type=\"text/javascript\">$(\"body\").css(\"overflow\", \"hidden\");</script>"; 

      string scriptname = "DisableBrowserScrollBar()"; 

      Type csType = this.GetType(); 
      if (!csm.IsClientScriptBlockRegistered(csType, scriptname)) 
      { 
       csm.RegisterClientScriptBlock(csType, scriptname, scriptblock, false); 
      } 
     } 

答えて

0

あなたのページにScriptManagerはありますか?もしそうなら、あなたはこれを実行する必要があります。

ScriptManager.RegisterStartupScript(Page, csType, scriptName, scriptblock, true); 
+0

は私がRadScriptManagerへの参照を持っていないサーバーコントロールから、これを行うにしようとしていますのでご注意ください。私のページテンプレートベースクラスから同じことを(AddScript()を呼び出す)、すべてのページが上手く動作するからです。 –

+0

私はTelerik Supportに連絡しました。彼らはそれがTelerik AJAXコントロールの問題であると言いました。サーバーコントロールからではなく、ページベーステンプレートのマスターページへのRadScriptManagerリファレンスを使用してスクリプトを注入する必要があります。 –

関連する問題