В результате использования этого кода нет уязвимости, которую можно использовать. Любая уязвимость может быть результатом того, что myPage.aspx делает со значением myId, а не тем, как построен ваш URL. Любой желающий может так же легко напрямую нажать myPage.aspx, используя все что угодно в строке запроса.
Однако это плохая практика, если предположить, что вы ничего не пропустили из кода между этими двумя строками. Вы должны убедиться, что txtUserInput.Text содержит только числовые символы и соответствует допустимым значениям.
Эксплойты происходят из-за неправильного анализа предоставленных пользователем данных страницей, на которой они размещены, а не из-за неправильного создания URL-адресов. Хотя стоит попытаться убедиться, что ваш веб-сайт не будет писать неработающий URL из-за того, что помещено в форму, проверка входных данных во внешнем интерфейсе не имеет отношения к безопасности. Все, что имеет значение, - это то, что код, который принимает , делает с ним ввод, поскольку любой пост или строка запроса могут быть подделаны.