Hay que ser malicioso pero no ingenuo
Hay que ser malicioso para poder implementar toda la seguridad que quieras para evitar una intrución por parte de un hacker a un sitio web, tal como tener muros de fuego, y otras cosas, pero no hay que ser ingenuo, en el sentido que el código de html puede ser robado, todo lo que se ejecute en el cliente puede ser copiado, ya que sale del alcance tu control, sin embargo, todo el código de ASP con código de servidor (server side code) está protegido por el servicio de internet (IIS).
Si lo que tampoco quieres es que se vea el código de html, bueno, te quedo mal, ya que una vez entré al sitio de un banco de mi país y logré copiar hasta el archivo que me oculta el código fuente del HTML, mas nunca podré copiar el fuente del código de servidor.