Reflector - это то, что нужно, но если по какой-то причине вы не можете использовать его, Microsoft поставляет дизассемблер ILDasm с фреймворком.
Хорошим источником знаний MSIL является книга Сержа Лидина Expert .NET 2.0 IL Assembler .
Я широко использовал программный код в моем первом проекте ASP.NET MVC (предварительная версия 3!) - в основном для таких вещей, как преобразование ViewData ["foo"] в строго типизированные объекты данных, сбор просматривать данные в IEnumerables, чтобы я мог их перебирать, и тому подобное.
С введением строго типизированных представлений и прагматическим использованием (ужасно названного) шаблона Model-View-ViewModel я не пропустил код программной части вообще, поскольку он был удален из структуры проекта незадолго до финальной версии.
Теперь я твердо уверен, что какую бы обработку вы ни выполняли в коде программной части вашего представления, вам гораздо лучше моделировать result этой обработки в вашей ViewModel, позволяя контроллеру выполнять фактическую обработку и сохранять представление как можно более простым и легким. Который'
Я бы сказал, что использование кода программной части с ASP.NET MVC - плохая практика. MVC позволяет разделить проблемы, когда логика представления (в представлениях) отделена от логики приложения (в контроллерах). Использование кода программной части смешивает логику представления и логику приложения внутри кода программной части, тем самым сводя на нет некоторые преимущества MVC.
Конечно, авторы ASP.NET MVC в действии не рекомендуют этого, и я согласен. В этом нет необходимости, так зачем это делать? В ранние бета-версии был включен файл кода программной части, но он был удален в RTM (или незадолго до этого).
Как правило, он просто побуждает вас выполнять больше работы без просмотра, чем вы должны в представлении, так как это вне поля зрения / вне поля зрения.
Я бы рекомендовал любой ценой избегать использования скрытого кода в приложении MVC. Использование кода, лежащего в основе, сводит на нет некоторые значения, которые вы получаете с помощью MVC Framework, например разделение задач и т. Д. Вы хотите, чтобы ваш доступ к данным, бизнес-правила, преобразование типов и тому подобное применялись в модели. Если вы обнаружите, что вам нужно преобразовать ваши типы данных, как упомянул Дилан, вы можете создать ViewModels. ViewModel будет в основном данными из реальной модели, которую вы хотите отобразить, в формате, в котором вы хотите ее отображать.
Да, скрытый код долгое время был секретным укрытием бизнес-логики, которая, как мы все знаем, не должна быть Уровень просмотра.
Код позади был удален, чтобы не поддаться соблазну непослушных разработчиков.
Вероятно, лучше всего не вставлять что-либо в код при использовании MVC.
Мне было бы интересно услышать, о какой части идет дискуссия, о том, как использовать программный код?
Если вы новичок в Asp.Net MVC, я действительно рекомендую потратить некоторое время на изучение примера обеда Nerd. Бесплатная электронная книга и исходный код доступны здесь http://nerddinner.codeplex.com/ .
Создание простой демонстрации с нуля - отличный способ научиться.
После этого он может пролить некоторый свет на то, где находится код, который у вас есть в отделенном коде, в качестве альтернативы.
Примечание: Если вы следите за электронной книгой, возьмите последний site.css
файл из codeplex, иначе виртуальные карты Земли не будут правильно выровнены.
HTH
Ральф