Ich muss einige Navigationsoptionen haben, die Tasten erfordern, die für den aktuellen Benutzer spezifisch sind, die in einer Masterseite liegen. Ich benötige einige Ratschläge zur besten Praxis.
Ich habe die folgenden Links in einer linken Navigationsleiste auf einer Masterseite
http://www.example.com/manageShop/123
Dabei ist '123' die Shop-ID, deren Manager der aktuelle Benutzer ist. Ich brauche eine Möglichkeit, dies an die Masterseite zu übergeben
Zurzeit mache ich etwas in dieser Richtung:
<li><%= Html.ActionLink<ShopController>(x => x.ManageShop((int)Session["ShopKey"]), "Manage")%></li>
Ich dachte, dass dies eine gute Idee war, da ich den ShopKey nur einmal in der Sitzung einstellen muss und fertig. Der Nachteil ist, dass ich bemerkt habe, dass die Sitzung gemischt wird, wenn man die Seite in zwei Tabs geöffnet hat.
Alternativ dazu habe ich dies versucht:
<li><%= Html.ActionLink<ShopController>(x => x.ManageShop((int)ViewData["ShopKey"]), "Manage")%></li>
Das bedeutet aber, dass Sie die ViewData in jeder Aktion in jedem Controller neu setzen müssen. Das ist furchtbar.
EDIT : Ich habe alook auf Filter wie eu-ge-ne unten vorgeschlagen, aber ich dont dies wirklich mein Problem löst, da ich immer noch das Problem der Einstellung der ShopKey überall?
Was ist die Lösung?