ASP.NET, el sucesor del ASP clásico, se presentó en el año 2003. En lugar de unos pocos objetos sueltos, utilizaba el framework .NET como una subestructura que englobaba los procesos que se requerían con frecuencia, como el acceso a las bases de datos o la autenticación y la autorización de usuarios. En conjunto, ASP.NET podría compararse a frameworks de Java como Struts o Spring.
ASP.NET incluía los formularios Web Forms como característica decisiva. El enfoque de Web Forms permitía a los desarrolladores de Windows experimentados programar páginas web dinámicas. Los mecanismos subyacentes a la web permanecían ocultos a los desarrolladores, que podían seguir recurriendo a los flujos de trabajo y entornos de desarrollo que les eran familiares. En particular, se utilizaban herramientas visuales específicas de Microsoft para el desarrollo rápido de aplicaciones o Rapid Application Development (RAD).
Los formularios Web Forms permitían a los desarrolladores de Windows avanzar rápidamente con la programación web. Sin embargo, al mismo tiempo, el enfoque limitaba el grado de control sobre las páginas HTML entregadas. Poco tiempo después, con ASP.NET MVC, se introdujo un modelo de desarrollo alternativo. Este seguía el patrón establecido de modelo-vista-controlador (MVC) y permitía implementar de manera más limpia el principio de la separación de intereses (separation of concerns). Basado en el innovador marco Ruby on Rails, ASP.NET MVC ofrecía una buena funcionalidad para el andamiaje de los proyectos.
Actualmente, ASP.NET ha sido reemplazado por ASP.NET Core, el desarrollo posterior. Sin embargo, ambos nombres se utilizan a menudo como sinónimos.