using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using SteamWare; public partial class mod_menuSx : ApplicationUserControl { /// /// stringa da pre-mettere all'URL x corretta generazione /// public string preUrlString { set { memLayer.ML.setSessionVal("preUrlString", value); } get { return memLayer.ML.StringSessionObj("preUrlString"); } } protected override void aggiornaControlliDataGL() { // se l'utente c'è... if (user_std.UtSn.isAuth && !Page.IsPostBack) { updateTreeMenu(); } } /// /// aggiornamento del menù /// private void updateTreeMenu() { fixPreMenuString(); // sostituisco stringa "url="~/ la stringa pre richiesta XmlDataSource1.Data = user_std.UtSn.mappaSito.Replace("url=\"~/", string.Format("url=\"~/{0}/", preUrlString)); XmlDataSource1.XPath = "mainMenu/menu"; XmlDataSource1.DataBind(); } /// /// sistema stringa pre del menù /// private void fixPreMenuString() { // controllo url Uri MyUrl = Request.Url; // aggiorno carattere pre del menù! string delimStr = "/"; char[] delimiter = delimStr.ToCharArray(); string[] finalUrl = MyUrl.LocalPath.ToString().Split(delimiter); int n = finalUrl.Length; if (n >= 2) { preUrlString = finalUrl[n - 2].ToString(); } } /// /// forza l'update del menù sx /// public void forzaUpdateMenu() { user_std.UtSn.ricaricaMappaSito(); updateTreeMenu(); } }