I am a little bit confused, what is the difference between framework, asp.net, ado.net and c#?
Framework : It is the sub system with in the underlying OS and uses Services of Underlying OS to complete a task.
Like .Net Framework , u can consider it as a Layer on the underlying window OS and gives you power of OS like ( File System Handling, Network Connections etc..)
ASP.Net : It is a concept which is useful for developing web based applications. This concept is having other useful concepts like( Session,Caching, Request/Reply process)
Ado.Net : This is again a Layer with in the .Net Framework which is useful for Data services like ( Opening a connection to numerious db, Reading From DB, Writing Back to db ) and here datasoucre is not tied to some specific Database , you can use numerious data sources like XML, FlatFiles , Oracle, Sql Server , MS-ACCESS.
C# : It's a language which make it possible all above concepts and one of the target language in .net flateform.
This article may help you:
.NET Framework : CLR,IL, ildsm.exe, Side by Side Execution, GAC, CTS, Assembly, Metadata, Manifest, Memory management etc.
Any of the .Net Languages (C# or VB.NET) : Control structures, datatypes, Classes, Functions, Structure, Constructor, Abstract Class , Interface, delegate, events etc.
ADO.NET : ADO Classes- DataSet, DataTable, Data Adapter, Connection, Providers, dataview, dataview manager, DataReation etc.
ASP.NET/WinForms : Creating a Form .Menu,Controls(TreeView,Datagrid etc), event handling,passing data between forms, data Binding.