Я думаю, что установка window.location напрямую обрабатывается браузером так же, как и пользователь, непосредственно вводящий новый URL в адресную строку. Это означает, что реферера нет, поскольку рефереры - это одна страница, прямо ссылающаяся на другую (например, по ссылке), а не браузер, просто переходящий на другую страницу ...
Самый простой способ решить вашу проблему - убедиться, что ваш выпадающий список находится в форме, которая отправляет (или получает) в / Character / SetDefault, а затем заставляет ваш javascript отправлять форму следующим образом:
$('#playerCharacters').change(function() {
this.form.submit();
});
Затем вам просто нужно изменить действие SetDefault в контроллере, чтобы иметь параметр playerCharacters, чтобы MVC правильно связывал значение запроса формы с вашим методом.