DropDownlist doesn't change language - ASP.NET - C# -Culture is not supported. Parameter name: name
<p>I am trying to make 2 dropdown lists.
One to change the theme and the other one to change the UI culture.
The one that changes the theme works well, but there is a problem changing the culture. </p>

<p>I can set the culture only in InitializeCulture() function when running it for the first time, but I can't re-set it when the selection is changed in the dropdown list.</p>

<p>and this is from my solution :</p>

<p><a href="https://i.stack.imgur.com/1g5GP.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/1g5GP.jpg" alt="[my files - Admin page is the name for the page where there are the 2 dropdownlists]"></a></p>

<p>and this in the Web.config</p>

<pre><code> &lt;profile defaultProvider="MyProfileProvider"&gt;
  &lt;providers&gt;
    &lt;add name="MyProfileProvider" connectionStringName="MyMembershipCon" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/&gt;
  &lt;/providers&gt;
&lt;properties&gt;
  &lt;add name="Language" type="string"/&gt;
  &lt;add name="Theme" type="string"/&gt;
&lt;/properties&gt;
&lt;/profile&gt;
</code></pre>

<p>and this is AdminPage.aspx.cs:</p>

<pre><code>public partial class AdminPage : System.Web.UI.Page
    {
        string lang;
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
            {
                if(Session["Theme"]!=null)
                {
                    DropDownList1.SelectedValue = Session["Theme"].ToString();

                }

                if (Session["Language"] != null)
                {
                    DropDownList2.SelectedValue = Session["Language"].ToString();

                }
            }
        }



        protected void Page_PreInit(object sender, EventArgs e)
        {

            if(Session["Theme"]==null)
            {
                if(HttpContext.Current.Profile["Theme"].ToString()!="")
                {
                    Session["Theme"] = HttpContext.Current.Profile["Theme"];

                }
                else
                {
                    HttpContext.Current.Profile["Theme"] = "Theme1";
                    Session["Theme"] = "Theme1";
                    Page.Theme = "Theme1";
                }
            }

            if (Session["Language"] == null)
            {
                if (HttpContext.Current.Profile["Language"].ToString() != "")
                {
                    Session["Language"] = HttpContext.Current.Profile["Language"];

                }
                else
                {
                    HttpContext.Current.Profile["Language"] = "ar-EG";
                    Session["Language"] = "ar-EG";

                }
            }

            lang = Session["Language"].ToString();
            Page.Theme = Session["Theme"].ToString();
        }

        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            Session["Theme"] = DropDownList1.SelectedValue;
            HttpContext.Current.Profile["Theme"] = DropDownList1.SelectedValue;
            Response.Redirect(Request.Url.AbsolutePath);
        }

        protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
        {

            Session["Language"] = DropDownList2.SelectedValue;
           HttpContext.Current.Profile["Language"] = DropDownList2.SelectedValue;
            Response.Redirect(Request.Url.AbsolutePath);


        }
        protected override void InitializeCulture()
        {
            lang = "ar-EG";
            if (Session["Language"] != null)
            {

                lang = Session["Language"].ToString();
            }

            Page.UICulture = lang;
            Page.Culture = lang;

            base.InitializeCulture();
        }

    }
</code></pre>