разметка single страницы

Обратите внимание на флажок Place code in separate file / Размещать код в отдельном файле.
Если Вы его выберите, то код C# будет размещен в отдельном файле, если нет, то код C# будет в одном файле с разметкой.
<% %> — это серверные теги

@ Page — директива, указывающая на настройки для текущей страницы

Language="true" — автоматическая привязка обработчиков событий

<script runat="server"></script> — в этом сценарии пишется C# код
runat="server" — этот атрибут указывает, что данный элемент доступен из файла с C# кодом, привязанным к данной разметке
наличие атрибутов id="" и runat="server" дает возможность создавать объекты