Dies ist mein erstes Mal auf StackOverflow Posten, aber diese Website ist super. Vielen Dank im Voraus für jede Hilfe, die Sie geben können.ASP.NET - So erstellen Sie dynamisch dynamische benutzerspezifische Menü aus der Datenbank
Ich habe eine Website, die Benutzern Zugriff auf verschiedene Seiten gewährt, basierend auf ihren Berechtigungen, so dass jeder Benutzer sein Menü beim Anmelden dynamisch generieren muss. Die Optionen eines Benutzers werden sich jedoch wahrscheinlich nicht sehr oft ändern.
Die Website verfügt derzeit über eine Masterseite, die eine Liste ihrer Seiten aus der Datenbank abruft und ein Menü erstellt. Dies geschieht jedes Mal, wenn der Benutzer eine Seite lädt.
Ich wollte Anrufe in die Datenbank reduzieren, also begann die Menü-Daten in eine Session-Variable. Ich hatte gehofft, dass jemand, der mehr Erfahrung hat, mir helfen könnte, dafür zu sorgen, dass dies der beste Weg ist. Ich denke, ich würde eine Möglichkeit bevorzugen, es auf dem Computer des Benutzers und nicht auf dem Server zu speichern.
Ich habe das ist mein Master-Seite laden:
User u = new User(Page.User.Identity.Name, Globals.getCnString());
DataTable menu;
if(Session["MENU"] == null)
{
Session["MENU"] = u.getMenu();
}
menu = (DataTable)Session["MENU"];
foreach (DataRow r in menu.Rows)
{
//build menu code here.
}
Nochmals vielen Dank!