Files
2016-12-15 12:26:26 +01:00

75 lines
1.9 KiB
C#

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
{
/// <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");
}
}
protected override void aggiornaControlliDataGL()
{
// se l'utente c'è...
if (user_std.UtSn.isAuth && !Page.IsPostBack)
{
updateTreeMenu();
}
}
/// <summary>
/// aggiornamento del menù
/// </summary>
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();
}
/// <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>
/// forza l'update del menù sx
/// </summary>
public void forzaUpdateMenu()
{
user_std.UtSn.ricaricaMappaSito();
updateTreeMenu();
}
}