The problem is probably that your code is working in the login button - so the chances are that the user isn't logged in yet, as the validation isn't complete. Which means that the redirect fails as there is no logged in user when the page loads - so the system redirects back to the login page...
Don't handle the Login Click event at all - instead, handle the Login control LoggedIn event:
Login.LoggedIn Event (System.Web.UI.WebControls)[
^] and use the single parameter version of the IsUserInRole method:
Roles.IsUserInRole Method (String) (System.Web.Security)[
^]