2011-05-11 9 views
0

私は.aspxファイルを持っており、私は<script>タグの中に以下のフォームとコントロールを動的に追加したいと思います。 (ページ言語= C#)この(recaptcha)フォームを動的に追加するにはどうすればよいですか?

<form runat="server"> 
     <asp:Label Visible=true ID="lblResult" runat="server" /> 

     <recaptcha:RecaptchaControl 
      ID="recaptcha" 
      runat="server" 
      Theme="red" 
      PublicKey="6Ld4PcQSAAAAADvExkhlgujfXixYYeJ0x6zQDZan" 
      PrivateKey="6Ld4PcQSAAAAABAg0i2Nk6FMjbstXQqCS2XRDoea" 
     /> 
     <br /> 
     <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" /> 
</form> 

答えて

0

なぜ動的に追加しますか?あなたの質問に対する答えは正確ではありませんが、より簡単な方法は、プレースホルダコントロールにマークアップを入れて、プレースホルダの可視性を要件ごとに設定することです。

コントロールを動的に追加する必要がある場合でも、親として(スクリプトタグの後に)プレースホルダが必要であり、コードビハインドからニーズコントロール階層を作成できます。たとえば、

var form = new HtmlForm(); 

var label = new Label(); 
label.ID = "lblResult"; 
form.Controls.Add(label); 

var captcha = new RecaptchaControl(); 
captcha.ID = "recaptcha"; 
... 

placeholder.Controls.Add(form); 
+0

動的に視認性を変更する場合は、それもソースに表示されますか? –

+2

@Adam、任意のサーバーコントロールの可視性をfalseに設定した場合、それに対してマークアップが生成されません(またはその子)。ビューソースからは見えません。 – VinayC

関連する問題