Files
2022-02-03 07:29:11 +01:00

85 lines
2.0 KiB
C#

using SteamWare;
using System;
using System.Web.UI;
public partial class mod_menuSx : ApplicationUserControl
{
#region Public Properties
/// <summary>
/// stringa da pre-mettere all'URL x corretta generazione
/// </summary>
public string preUrlString
{
set
{
memLayer.ML.setSessionVal("preUrlString", value);
}
get
{
return memLayer.ML.StringSessionObj("preUrlString");
}
}
#endregion Public Properties
#region Private Methods
/// <summary>
/// sistema stringa pre del menù
/// </summary>
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();
}
}
/// <summary>
/// aggiornamento del menù
/// </summary>
private void updateTreeMenu()
{
if (memLayer.ML.CRB("fixPreUrlMenu")) 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();
}
#endregion Private Methods
#region Protected Methods
protected override void aggiornaControlliDataGL()
{
// se l'utente c'è...
if (user_std.UtSn.isAuth && !Page.IsPostBack)
{
updateTreeMenu();
}
}
#endregion Protected Methods
#region Public Methods
/// <summary>
/// forza l'update del menù sx
/// </summary>
public void forzaUpdateMenu()
{
user_std.UtSn.ricaricaMappaSito();
updateTreeMenu();
}
#endregion Public Methods
}