Pues si no quieres que se recargue toda la página, la opción sería Ajax (si quieres evitar frames, cosa que te recomiendo). De todas formas es un poco complicarse la vida, ya que no supone tanto tiempo la recarga de una cabecera y un menú, si estas además no cambian, lo más probable es que la imagen de cabecera se quede en caché y la recarga sea tan rápida que el usuario casi ni lo note.
Un artículo (discutible, claro) sobre donde usar Ajax y donde no:
http://www.uberbin.net/archivos/inte...y-donde-no.php
Una forma sencilla de meter esto en ASP, sin Ajax y sin importante que se recargue todo, en cada una de tus páginas:
Código:
%>
<!-- #include file="cabecera.asp" -->
<!-- #include file="menu.asp" -->
<%
resto de la página..