Хорошо - так что тот факт, что этот проект находится в этом беспорядке, не является чем-то, что вы можете разобрать; и это разговор, который, по-видимому, нужно вести с кем-то, кто несет главную ответственность за проект. Как говорится в другом ответе - он не поддерживается, и он должен никогда не выполняться.
Все, кроме этого, ваш вопрос касается причины, по которой он больше не работает. Я собираюсь сделать дикое предположение, что это потому, что скрытые входные данные viewstate и eventvalidation не отправляются обратно на страницу. В Asp.Net 3.5 (следовательно, возможно, в Asp.Net 4) IsPostBack обнаруживается по этим двум скрытым значениям, а не по методу http, используемому для запуска страницы.
Тем не менее, ваша проблема здесь может заключаться в том, что Asp.Net 4 не нравится входящий запрос, а не проблема MVC2. Было внесено не так много изменений в способ отображения, только много дополнений.
Если веб-сайт был обновлен до версии Asp.Net 4 - узнайте, как вернуть его к версии 3.5, и посмотрите, исправляет ли это.
В противном случае, я думаю, что ответ Леви на возврат к 3.5 и MVC1 - ваша лучшая ставка.
Тогда я бы рекомендовал полный обзор кода, чтобы избавиться от этого использования MVC для будущих версий.