Мне нужно уметь определять это на событии PageLoad в codebehind.
Должен иметь возможность сделать это через IsAsyncPostBack:
var isAjaxPostBack = ScriptManager.GetCurrent(Page).IsInAsyncPostBack;
Можно использовать IsInAsyncPostBack
класса ScriptManager. Это будет справедливо для PartialUpdate/"AJAX" PostBack и false в противном случае.
[IsInAsyncPostBack] Возвращает значение, указывающее, выполняется ли текущая обратная передача в режиме частичной рендеринга.
Используйте свойство IsInAsyncPostBack в сочетании с свойством IsPostBack, чтобы различать начальную загрузку страницы, обновление с частичной страницей и полностраничное обновление событий Load, InitComplete или PreRender.