Я пытаюсь динамически создать div внутри tab_content, который также является div. Затем я пытаюсь проверить, равна ли текущая строка + "_tab_content" любому ID в tab_content, если это так затем сделайте что-нибудь.FindControl throw null null
Например, строка [ «звезды»]. ToString() напечатает «1», что делает его «1_tab_content»
int i = 1;
tab_content.Controls.Add(new LiteralControl("<div class='tab-pane' id='" + i.ToString() + "_tab_content' </div>"));
foreach(DataRow row in gymsByStars.Rows)
{
if(row["stars"].ToString() + "_tab_content" == tab_content.FindControl(row["stars"].ToString() + "_tab_content").ID.ToString())
{
// Do Something
}
}
Однако по какой-то причине, я получаю эту ошибку на заявление линии IF System.NullReferenceException: Object reference not set to an instance of an object.
Я, честно говоря, не понимаю, почему, хотя потому, что контроль был динамически создан?
Кто-нибудь понимает, что я делаю неправильно?
так что строка ["начинается"] возвращает 1? в противном случае он не нашел бы. Ведет ли веб-контроль имена, начиная с номера, когда дело доходит до кодирования? Не было бы безопаснее быть _tab_content_1? – BugFinder
@BugFinder Я изменил его, так что это будет tab_content_1, но все равно такая же ошибка .. – mogorilla
Пожалуйста, включите разметку aspx. Думаю, нам нужно это, чтобы понять, что здесь происходит. –