Уловка, чтобы заставить это работать, состоит в том, чтобы удалить параметр, который вы пытаетесь использовать, прежде чем добавить его. Должна работать следующая адаптированная версия вашего кода:
' NOTE that there is no "@" sign when you use your parameters in the code
Parameter p = strCommandSqlDataSource2.SelectParameters["ClientID"]
strCommandSqlDataSource2.SelectParameters.Remove(p)
strCommandSqlDataSource2.SelectParameters.Add("ClientID", iClientID)
Не следует использовать знак «@» при именовании параметров в кодовой части его использования. Вы должны использовать его только в строке SQLCOMMAND.
Надеюсь, это поможет.