2009-07-24 4 views
0

グリッドビューとupdatePanelでカスタムコントロールを追加するときに問題が発生しました。 javascript関数は、RenderContentメソッドの内部に直接書き込んだとしても、ページに追加されることはありません。更新パネル内のgridview内でjavascriptでCustomControlを使用する方法は?

ページは次のとおりです。

のUpdatePanel GridViewの EditItem CustomControl


" でSelectCommand =" SELECT * [APP_ROLE] FROM ">  

カスタムconstrolはそのようになります。

[ToolboxData(" < {0}。 TestControl runat = server> ")] パブリッククラスTestControl:WebControl { プロテクトオーバーライドvoid OnInit(EventArgs e) { base.OnInit(e);

 string script = "<SCRIPT type=\"text/javascript\">\n" + 
      "function show_" + ClientID + "(){alert('toto');}" + 
      "</SCRIPT>\n"; 

     if (Page.ClientScript.IsClientScriptBlockRegistered("show_" + ClientID)) 
      Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "show_" + ClientID, script); 
    } 

    protected override void RenderContents(HtmlTextWriter writer) 
    { 
     writer.WriteLine("<a href=\"javascript:show_" + ClientID + "();\">click</a>"); 
    } 
} 

誰でも手伝ってもらえますか?

乾杯。

答えて

1

if文がスクリプトブロックの存在をチェックしていて、スクリプトブロックが既に存在する場合にのみ追加します。

私はif文を取り出し、何が起こるかを見ていきます。

+0

または!どこかにある。 –

関連する問題