В asp.net код на C# можно (иногда нужно, несмотря на разделение логики и представления) писать не только в файлах с расширением .cs , но и в самом html (файлы с расширениями .aspx , .ascx , .master и др.). Выглядит это примерно так:
<%if (Session["username"] != null)
{ %>
<a href="Users.aspx?user=<%=Session["username"] %>">Личный кабинет</a>
<%}
else
{ %>
<a href="Registration.aspx">Зарегистрируйтесь</a>
<%} %>
Вообще, перед тем как хвататься за asp.net надо было сначала поработать с php или с обычным asp, тогда бы таких вопросов не возникало.