Cambie programáticamente el idioma del archivo de recursos (resx) en Code Behind

Tengo una aplicación .Net en C # y tengo una estructura de archivos como:

App_LocalResources
 - MyPage.aspx.resx
 - MyPage.aspx.fr.resx
MyPage.aspx
MyPage.aspx.cs

Estoy intentando cambiar programáticamente el idioma que le dice a la aplicación qué archivo resx usar. Quiero hacer esto en el código detrás del archivo (MyPage.aspx.cs).

He probado ambos en los eventos OnPreRender, Page_Init y Page_Load:

Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA");
Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA");

y no funciona. La página aún muestra el idioma inglés. El archivo MyPage.aspx tiene esto:

<h3><asp:Literal runat="server" Text="<%$ Resources:pageTitle %>" /></h3>

Tenga en cuenta que no me importa el idioma del navegador. Debe sobrepasar esto. He estado buscando en la web esta solución en vano. Todos los ejemplos muestran cómo cambiar el idioma de la forma en que ya lo he probado (arriba), sin embargo, esto no afecta el archivo de recursos utilizado. ¿Algunas ideas?

Respuestas a la pregunta(2)

Su respuesta a la pregunta