ASP.NET ialah sebuah set teknologi pembangunan aplikasi web yang diniagakan oleh Microsoft. Pengaturcara boleh menggunakannya untuk membina laman web, aplikasi web, dan perkhidmatan web XML yang dinamik. Ia adalah sebahagian dariada platform .NET milik Microsoft dan merupakan pengganti bagi teknologi Active Server Pages (ASP).
Prinsip
Walaupun ASP.NET mengambil nama dari teknologi pembangunan web Microsoft yang lama, ASP, terdapat perbezaan yang amat ketara antara kedua-duanya. Microsoft sudah membina semula ASP.NET secara menyeluruh, berdasarkan kepada Common Language Runtime (CLR) yang dikongsi bersama oleh semua aplikasi .NET Microsoft. Pengaturcara boleh menulis kod ASP.NET menggunakan mana-mana bahasa pengaturcaraan yang disokong oleh Rangka Kerja .NET, lazimnya C#, Visual Basic.NET, atau JScript .NET, namun termasuk juga bahasa-bahasa sumber terbuka seperti Perl dan Python
ASP.NET mempunyai kelebihan-kelebihan dari segi prestasi berbanding teknologi berdasarkan skrip yang lainnya kerana kod sebelah pelayannya ditafsir kepada fail DLL dalam pelayan web.
ASP.NET memudahkan para pembangun untuk berpindah dari pembangunan aplikasi Windows kepada pembangunan web dengan menawarkan kebolehan untuk membina halaman-halaman yang terdiri daripada kawalan (controls), sama seperti antaramuka pengguna dalam Windows. Sebuah kawalan web (web control), seperti sebuah butang atau label, mempunyai fungsi yang lebih kurang sama dengan yang terdapat dalam Windows: kod boleh menetapkan ciri-ciri (properties) dan bertindakbalas terhadap kejadian (events). Kawalan boleh terjana dengan sendirinya: jika kawalan Windows memaparkan dirinya sendiri di skrin, kawalan web pula menghasilkan sisipan-sisipan HTML dan JavaScript yang membentuk sebagahian daripada halaman yang terhasil yang dikirim kepada pelayar pengguna.
ASP.NET menggunakan Rangka Kerja .NET sebagai infrastrukturnya. Rangka Kerja .NET menawarkan persekitaran masa jalanan (runtime environment) yang terurus (seperti Java), menyediakan mesin maya dengan JIT dan sebuah perpustakaan kelas (class library).
Kawalan, kelas, dan peralatan .NET yang pelbagai boleh menjimatkan tempoh pembangunan dengan menyediakan ciri-ciri yang kaya untuk tugas-tugas pengaturcaraan yang lazim. Sebagai contoh, dengan capaian data yang sudah terbina dalam ASP.NET, pengaturcara boleh membentuk sebuah halaman supaya memaparkan senarai rekod dalam pangkalan data dengan lebih mudah berbanding teknologi-teknologi web tradisional seperti ASP atau PHP.