Вы используете явные выражения.
<asp:Label Text="<%$Resources: RegisterAsUser, userName%>" runat="server" />
, тогда как другой вариант - неявные выражения
<asp:Label ID="label1" runat="server" meta:resourcekey="userName" ></asp:Label>
Для явных выражений, насколько я понимаю, цель этого состоит в том, чтобы использоватьобщее местоположение, так что ресурсы из многих файлов aspx могут получить доступ к значениям из одного файла ресурсов.Чтобы это работало, ваш файл resx RegisterAsUser должен находиться под каталогом App_GlobalResources.
При неявном значении оно просматривается в файле resx с тем же именем, что и файл aspx, с правильным значением локализации, конечно.