Hi Prasunjeet,
You need to change BasePage Code and Master Page.
BasePage
protected override void InitializeCulture()
{
string language = "en-ca";
if (HttpContext.Current.Request.Cookies["Language"] != null)
{
HttpCookie cookie = HttpContext.Current.Request.Cookies["Language"];
if (cookie != null)
{
language = cookie.Value.Split('=')[1];
}
}
//Check if PostBack is caused by Language DropDownList.
if (Request.Form["__EVENTTARGET"] != null && Request.Form["__EVENTTARGET"].Contains("ddlLanguages"))
{
//Set the Language.
language = Request.Form[Request.Form["__EVENTTARGET"]];
}
//Set the Culture.
Thread.CurrentThread.CurrentCulture = new CultureInfo(language);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(language);
}
MasterPage
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
string language = "en-ca";
if (HttpContext.Current.Request.Cookies["Language"] != null)
{
HttpCookie cookie = HttpContext.Current.Request.Cookies["Language"];
if (cookie != null)
{
language = cookie.Value.Split('=')[1];
}
}
this.ddlLanguages.Items.FindByValue(language).Selected = true;
}
}
protected void ChangeLanguage(object sender, EventArgs e)
{
HttpCookie languageCookie = new HttpCookie("Language");
languageCookie.Values["LanguageCode"] = this.ddlLanguages.SelectedValue;
languageCookie.Expires = DateTime.Now.AddDays(30);
HttpContext.Current.Response.Cookies.Add(languageCookie);
this.Response.Redirect(Request.Url.AbsoluteUri);
}
Note : your each page must inherit BasePage.
public partial class _Default : BasePage
I hope this will help you out.