Моя проблема заключалась в том, что на странице Nav_Side.aspx используются некоторые древние компоненты пользовательского интерфейса, которые выдают ошибку 500, если браузер не делает запрос в режиме совместимости.
Я хотел иметь возможность управлять режимом совместимости постранично, поэтому использовал идею Андреаса об использовании ashx для получения первоначального запроса, его изменения и передачи в aspx.
После создания ashx в Visual Studio замените метод ProcessRequest своим собственным кодом, в моем случае:
public void ProcessRequest(HttpContext context){
var headers = context.Request.Headers;
//set a User-Agent header that mimics compatibility mode for Nav_Side.aspx
headers["User-Agent"] = "Mozilla/4.0 (compatible; MSIE 7.0)";
context.Server.TransferRequest("Nav_Side.aspx", true, context.Request.HttpMethod, headers);
}