2012-03-03 100 views
3

在aspx頁面中有一個名爲「add another」的按鈕,如果用戶單擊該按鈕,將添加一個新的文本框與RequiredFieldValidator。如何通過驗證動態添加控件

我嘗試使用這樣的代碼:

protected void btn_Click(object sender, EventArgs e) 
    { 
     TextBox control = new TextBox(); 
     control.Text = ""; 
     control.ID = "txt2"; 
     divMy.Controls.Add(control);//divMy is the container of all the textbox 

     RequiredFieldValidator rfv2 = new RequiredFieldValidator(); 
     rfv2.ID = "rfv2"; 
     rfv.ControlToValidate = control.ID; 
     rfv.ErrorMessage = "bbb"; 
     divV.Controls.Add(rfv2);//divV is the container of all validations.   
    } 

它不工作。什麼是實現這個功能的正確方法?

任何幫助,謝謝。

回答

0

通過說它不起作用,你的意思是它會導致出現某種錯誤或它不正確驗證?

請記住,如果您希望這些控件在下次回發後仍可見,則必須重新創建它們。我想如果沒有額外的代碼重新創建控件,它將無法正常工作。您應該在某個地方(即隱藏字段)中保存多少個文件夾,然後在Page_InitPage_Load中重新創建它們。 ID s的控件也必須是唯一的,不應在回發之間進行更改。

您可以在這裏獲得更多關於它的信息:http://msdn.microsoft.com/en-us/library/kyt0fzt1.aspx