2016-04-11 24 views
0

こんにちは私はこの問題を抱えています。動的に追加されたコントロールのバリデータを削除する

最初のセルには動的に生成されたコントロール(TextBox)、2番目にボタン(MyCustomButton)、最後のセル(RegularExpressionValidator)には検証コントロールが挿入されたテーブルがあります。検証コントローラは、TextBoxのデータが正しいかどうかをチェックします。ボタンの機能は、このボタン、テキストボックス、およびバリデーターを含む行を削除することです。私は言ってポップアップ表示されます、それは例外に属している行を削除するには、そのボタンをクリックしたときに

私の問題は、「コントロールIDを見つけることができません 『MyTextBoxId』 『ControlToValidate』によって参照します」。

ここで、バリデータが削除され、この例外がポップアップするため、バリデータが検証するための検証ができません。私は最初にこのバリデータを削除しようとし、その行の残りの後、TextBoxの間違ったデータをクリアし、そのTextBoxの検証をオフにしますが、バリデータが削除された後もこの例外が発生します。

テーブル方式から取り外し

protected void DeleteMemberRow_Click(object sender, EventArgs e) 
    { 
     //Find row to remove 
     TableRow row = (TableRow)((MyCustomButton)sender).Parent.Parent; 

     //Custom list of controls - works fine 
     ControlsList.RemoveAll(x => x.id == row.ID.Replace("row", "")); 

     //MyTable is basic Table type 
     MyTable.Rows.Remove(row);    
    } 

追加テーブルの行

 Guid guid = Guid.NewGuid(); 

     TextBox txt = new TextBox(); 
     MyCustomButton btn = new MyCustomButton(); 
     btn.Click += new System.EventHandler(DeleteMemberRow_Click); 
     btn.ID = "TeamMember" + guid + "btn"; 
     txt.ID = "TeamMember" + guid; 
     RegularExpressionValidator validate = new RegularExpressionValidator(); 
     validate.ValidationExpression = @"(\d{5}, ?)*\d{5}"; 
     validate.ErrorMessage = "My error message"; 
     validate.Attributes.Add("runat", "server"); 
     validate.ControlToValidate = "TeamMember" + guid; 
     validate.Attributes.Add("Display", "none"); 

     TableRow tRow = new TableRow(); 
     tRow.ID = "Teammember" + guid + "row"; 
     TableCell tCell2 = new TableCell(); 
     TableCell tCell = new TableCell(); 
     TableCell tCell1 = new TableCell(); 

     tCell2.Controls.Add(validate); 
     tCell1.Controls.Add(btn); 
     tCell.Controls.Add(txt); 
     tRow.Cells.Add(tCell); 
     tRow.Cells.Add(tCell1); 
     tRow.Cells.Add(tCell2); 

     MyTable.Rows.Add(tRow); 

任意の助けが理解されるであろう。ありがとうございました

+0

あなたのページの読み込みイベントを表示できますか? –

答えて

0

[OK]その固定そこにコードではなく私の問題。私は他のバリデーターが同じTextBoxをチェックしているのに気が付きませんでした。

関連する問題