Merhaba, bu sorunu yaşadım.Dinamik olarak eklenen denetimlerin doğrulayıcılarını kaldırma
İlk hücrede dinamik olarak oluşturulan denetimler (TextBox), ikinci hücrede (MyCustomButton) düğmesi ve son hücrede doğrulama denetimi (RegularExpressionValidator) ile doldurulmuş satırlar içeren bir tablom var. Doğrulama denetleyicisi, TextBox'taki verilerin doğru olup olmadığını kontrol eder. Düğmenin işlevi, bu düğmeyi, metin kutusunu ve doğrulayıcıyı içeren satırı kaldırmaktır. i söyleyerek açılır o istisna ait olduğu satırı kaldırmak için bu düğmeyi tıkladığınızda
Benim sorundur "kontrol kimliği bulmak için açılamıyor 'MyTextBoxId' 'ControlToValidate' tarafından başvurulan".
Burada sorun gidericinin kaldırıldığından ve bu özel durumun açıldığından doğrulamak için TextBox öğesinin doğru olduğunu bulamıyor. İlk önce bu doğrulayıcıyı kaldırmayı denedim ve bu satırın geri kalanından sonra, TextBox'ta yanlış verileri temizleyin, bu TextBox'un onaylanmasını kapatın, ancak onaylayıcı kaldırıldıktan sonra bile bu istisnayı hala alıyorum.
Tablo yönteminden çıkarma
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);
}
ekleme tablo satırları
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);
bir Yardım takdir. Teşekkürler
Sayfanızı yükleme olayınızı gösterir misiniz? –