Возможно, вам придется переопределить метод OnPreInit вашего класса codebehind, например ...
protected override void OnPreInit(EventArgs e)
{
Page.MasterPageFile = "~/your/masterpage.master";
}
Таким образом, чтобы привязать это к клику, вы можете использовать параметр строки запроса, т.е.
<a href="<%=Request.Url.ToString()%>?masterPage=alternative">Use
alternative master page</a>
А потом в коде позади
protected override void OnPreInit(EventArgs e)
{
if(Request["masterPage"] == "alternative")
{ Page.MasterPageFile = "~/your/alternative/masterpage.master"; }
}