Эти две строки:
document.getElementById(textboxId).value = strUser;
document.getElementById(textboxId).focus();
тоже не правы. Если ваша предыдущая строка действительно сработала:
var textboxId = document.getElementById("txtCountry");
тогда то, что вы назвали textboxId , фактически будет элементом управления textbox, поэтому вы будете делать getElementById , используя элемент управления вместо строкового идентификатора.
Чтобы следовать сказанному @ anthares ; попробуйте это:
var textboxId = '<%=txtCountry.ClientID%>';
alert('My textbox id is: ' + textboxId);
и убедитесь, что вы получаете правильный идентификатор для текстового поля (помните, что он будет заархивирован ASP.Net, по крайней мере, убедитесь, что вы ничего не получаете). Затем, когда вы делаете document.getElementById , вам необходимо проверить результат перед использованием:
var myTextBox = document.getElementById(textboxId);
if (myTextBox !== null) {
...now i can access the properties...
}