Посмотрите на этот фрагмент кода:
strPostBackControlName.LastIndexOf("$")
Он вернет последний индекс $
в строке, но когда $
не найден, он вернет -1
в качестве результата.Позже вы попытаетесь вызвать strPostBackControlName.Substring
с этим результатом, но Substring
имеет следующий прототип:
public string Substring (int startIndex);
Конечно, вы не можете вызвать его с начальным индексом меньше 0 (потому что индексы в строкеначать с 0
).Добавьте проверку того, что LastIndexOf("$")
не является -1
, или убедитесь, что strPostBackControlName
всегда содержит $
.