2011-05-11 83 views
0

我有一個.aspx文件,我想在我的<script>標記中動態添加下面的表單和控件。 (Page-Language = 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

如果我要動態更改可見性,它仍會在源中看到嗎? – 2011-05-11 08:37:58

+2

@Adam,如果您將任何服務器控件的可見性設置爲false,則不會爲其(或其子項)生成標記。所以它不會從視圖源中看到。 – VinayC 2011-05-11 08:42:59