Question: I have a base class that inherits a page and changes the culture based on a pre-determined value set in the database. I need the culture to change the currency symbol but nothing else. If the value in the db says en-GB I need for it to change all currency values on the page to British pounds, and if it sais en-US show a US Dollar Sign. I need the culture variable to only effect the currency and nothing else, all dates, etc should be in the default culture(en-US)

Any ideas?

Answer: 
I have found the solution I was looking for. Going through and changing each element of currency to use the specified culture was not something that would be easily done so I started playing with other options and what I have found was that if I used the culture function in my base class I could do the following:

```
 System.Globalization.CultureInfo ci;
    if (culture == "")
    {
        ci = new System.Globalization.CultureInfo("en-US");

    }
    else
    {
        ci = new System.Globalization.CultureInfo(culture);
    }

    System.Threading.Thread.CurrentThread.CurrentCulture = ci;
    System.Threading.Thread.CurrentThread.CurrentUICulture = ci;
    ci.DateTimeFormat.ShortDatePattern = "MM/dd/yyyy";
    ci.DateTimeFormat.LongDatePattern = "dddd, MMMM dd, yyyy";
    ci.DateTimeFormat.DateSeparator = "/";

```

This will set the culture to what I want and then set the date of the culture (no matter what the culture is) to the US Format of the datetime. Thanks for all the help!
Most ToString methods take a format provider; the Culture Info is a format provider. You are going to have to leave the current culture as en-US and manually format the currency values using the ToString() method.

<http://msdn.microsoft.com/en-us/library/3ebe5aks.aspx>

HTH.