/// <summary> /// Handles the OnInsert event of the Items control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="OpenBox.Web.UIBase.Controls.TabMenu.TabMenuItemEventArgs"/> instance containing the event data.</param> private void Items_OnItemInserted(object sender, TabMenuItemEventArgs e) { e.Item.Menu = this; this.BindEvents(e.Item); }
/// <summary> /// Handles the OnClick event of a TabMenuItem control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> protected void TabMenuItem_OnClick(object sender, TabMenuItemEventArgs e) { // Select this tab menu item. e.Item.IsSelected = true; foreach (TabMenuItem item in e.Item.GetSiblings()) { item.IsSelected = false; } // Fire the menu's click event if (this.Click != null) { this.Click(sender, e); } // Find out if the navigation method needs to be inherited. NavigateMethodType navigateMethod = e.Item.NavigateMethod; if (navigateMethod == NavigateMethodType.Inherit) { // Inherit from this menu control navigateMethod = this.NavigateMethod; } // Navigate the the requested page if required. if (!string.IsNullOrEmpty(e.Item.NavigateUrl)) { switch (navigateMethod) { case NavigateMethodType.ResponseRedirect: Response.Redirect(e.Item.NavigateUrl); break; case NavigateMethodType.ServerTransfer: Server.Transfer(e.Item.NavigateUrl, true); break; case NavigateMethodType.None: // Do not navigate anywhere. break; } } }
/// <summary> /// Handles the OnSelectedChanged event of the TabMenuItem control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="OpenBox.Web.UIBase.Controls.TabMenu.TabMenuItemEventArgs"/> instance containing the event data.</param> protected void TabMenuItem_OnSelectedChanged(object sender, TabMenuItemEventArgs e) { if (e.Item.IsSelected) { foreach (TabMenuItem sibling in e.Item.GetSiblings()) { sibling.IsSelected = false; } } }
/// <summary> /// Handles the OnInsert event of the Items control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="OpenBox.Web.UIBase.Controls.TabMenu.TabMenuItemEventArgs"/> instance containing the event data.</param> public void OnItemInserted(object sender, TabMenuItemEventArgs e) { e.Item.Parent = this; }