コード例 #1
0
        public static void SetLocale(HttpRequest req)
        {
            try
            {
                /*if( Request.UserLanguages != null && Request.UserLanguages.Length > 0 )
                 * {
                 *      CultureInfo ci = CultureInfo.CreateSpecificCulture( Request.UserLanguages[0] );
                 *      Thread th = Thread.CurrentThread;
                 *      th.CurrentUICulture = th.CurrentCulture = ci;
                 * }*/

                /*cook = Response.Cookies[ CONFG_COOKIE_NAME ];
                 * cook[ COOKIE_LANG_NAME ] = loc.ProviderName;
                 *
                 * if( String.Compare( Thread.CurrentThread.CurrentCulture.Name, loc.Culture, true) != 0 )*/

                LocaleHelper  hlp         = new LocaleHelper();
                LocaleElement requiredLoc = WebUtils.DetectLocale(req);

                if (String.Compare(Thread.CurrentThread.CurrentCulture.Name, requiredLoc.Culture, true) != 0 ||
                    String.Compare(Thread.CurrentThread.CurrentUICulture.Name, requiredLoc.Culture, true) != 0
                    )
                {
                    Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture =
                        System.Globalization.CultureInfo.CreateSpecificCulture(requiredLoc.Culture);
                }
            }
            catch (Exception)
            {
            }
        }
コード例 #2
0
    public void SwitchSiteMapProvider(Boolean enableRebind)
    {
        Boolean needRebind = false;

        if (CurrentProvidername != _requestedProviderName)
        {
            CurrentProvidername = _requestedProviderName;
            SiteMapDataSource1.SiteMapProvider = CurrentProvidername;
            SiteMapPath1.SiteMapProvider       = CurrentProvidername;
            //CheckUpdateSiteMap();

            needRebind = true;
        }

        LocaleElement loc = _locHlp.GetLocaleByProvider(CurrentProvidername);

        if (String.Compare(Thread.CurrentThread.CurrentCulture.Name, loc.Culture, true) != 0)
        {
            Thread.CurrentThread.CurrentUICulture   =
                Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(loc.Culture);
            needRebind = true;
        }

        if (enableRebind && needRebind)
        {
            //pgGen = (ASP.pagegen_aspx)((ContentPlaceHolder)idPhotosPlace).Page;
            //pgGen.
            //Control cc = idPhotosPlace;

            /*this.DataBind();
             * //idPhotosPlace.DataBind();
             * if( !Page.IsCallback )
             *  SyncTree();*/
            _requiresDataBinding = true;
        }
    }
コード例 #3
0
    protected override bool OnBubbleEvent(Object source, EventArgs args)
    {
        if (!(args is CommandEventArgs))
        {
            return(false);
        }

        Control          srcObj = (Control)source;
        Boolean          res    = true;
        CommandEventArgs a      = (CommandEventArgs)args;
        HttpCookie       cook;

        //L2.Text = string.Format("OnBubbleEvent: {0}  /{1}", srcObj.ID, a.CommandName);

        if (srcObj.ID == btnRus.ID || srcObj.ID == btnEng.ID)
        {
            LocaleElement loc = _locHlp.GetLocaleByProvider(a.CommandName);
            if (loc != null)
            {
                cook = Response.Cookies[LocaleHelper.CONFG_COOKIE_NAME];
                cook[LocaleHelper.COOKIE_LANG_NAME] = loc.ProviderName;
                cook.Expires = DateTime.Now.AddYears(50);
                ReadLocale(cook);

                SwitchSiteMapProvider(Request.QueryString["isTransfered"] != null);

                //Response.Redirect( Request.Url.AbsolutePath, true );
                if (Request.QueryString["isTransfered"] == null)
                {
                    Context.Server.Transfer(Request.RawUrl + "?isTransfered=" + CurrentProvidername, true);
                }
                else
                {
                    Context.RewritePath(Request.RawUrl, Request.PathInfo, "");
                }
            }
            else
            {
                return(base.OnBubbleEvent(source, args));
            }
        }
        else if (srcObj.ID == btnHome.ID)
        {
            /*int idx = Request.Url.AbsoluteUri.IndexOf(Request.ApplicationPath);
             * if (idx != -1)
             * {
             *  Context.Response.Redirect(Request.Url.AbsoluteUri.Substring(0, idx), true);
             * }*/
            Context.Response.Redirect(string.Format("{0}{1}{2}:{3}", Request.Url.Scheme, Uri.SchemeDelimiter, Request.Url.Host, Request.Url.Port));
        }
        else
        {
            switch (srcObj.ID)
            {
            case "btnPrev":
            case "btnUp":
            case "btnDown":
            case "btnNext":
                break;

            case "btnLogOff":
                FormsAuthentication.SignOut();
                Session.Abandon();
                Response.Redirect("~/login.aspx");
                break;

            default:
                res = false;
                break;
            }
        }

        return(res);
    }