Ejemplo n.º 1
0
		/// <summary>
		/// Raises the <see cref="System.Web.UI.Control.OnLoad"/> event
		/// </summary>
		/// <param name="e">The event data</param>
		protected override void OnLoad(System.EventArgs e)
		{
			if (!Page.IsPostBack)
			{
				HttpContextBase context = new HttpContextWrapper(Context);
				Mobile = context.GetOverriddenBrowser().IsMobileDevice;
				string view = (string)StateContext.Data[ViewKey];
				StateContext.Data[ViewKey] = null;
				if (view != null)
				{
					if ((Page.Request.Browser.IsMobileDevice && view == "mobile")
						|| (!Page.Request.Browser.IsMobileDevice && view != "mobile"))
						context.ClearOverriddenBrowser();
					else
						context.SetOverriddenBrowser(view == "mobile" ? BrowserOverride.Mobile : BrowserOverride.Desktop);
					StateController.Refresh(new NavigationData(true));
				}
			}
			base.OnLoad(e);
		}
Ejemplo n.º 2
0
 /// <summary>
 /// This is necessary so that the response can be flushed without causing errors. DisplayModelForDebug wants to flush the
 /// response.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 /// <remarks>
 /// <para>
 /// http://stackoverflow.com/questions/904952/whats-causing-session-state-has-created-a-session-id-but-cannot-save-it-becaus
 /// </para>
 /// <para>
 /// At the start of a session, clear the overridden browser.
 /// </para>
 /// </remarks>
 protected void Session_Start(object sender, EventArgs e)
 {
     string sessionId = Session.SessionID;
     var wrapper = new HttpContextWrapper(this.Context);
     wrapper.ClearOverriddenBrowser();
 }