Ich muss jedes Mal, wenn eine Seite geladen wird, Daten an eine Variable in meiner Masterseite übergeben.
Ich habe eine Zeichenfolge [] von RequiredRoles, die ich auf jeder Inhaltsseite festlege, welche Rollen für den Zugriff auf diese Seite erforderlich sind.
Auf meiner Masterseite habe ich eine Methode, die dieses Array verwendet und überprüft, ob der aktuelle Benutzer in einer oder mehreren dieser Rollen ist.
Wie würde ich das handhaben? Ich möchte im Grunde, dass auf jeder Seite ein String [] RequiredRoles definiert ist, und die Masterseite lädt dies bei jedem Aufruf und überprüft, ob die Benutzer in diesen Rollen sind.
Erstellen Sie eine Eigenschaft in Ihrer Masterseite und greifen Sie von der Inhaltsseite darauf zu:
Gestaltungsvorlage:
%Vor%Inhalt Seite:
%Vor%Hinzufügen einer Seitenanweisung zu Ihrer untergeordneten Seite:
%Vor%Fügen Sie dann Ihrer Masterseite eine Eigenschaft hinzu:
%Vor%Sie können auf diese Eigenschaft wie folgt zugreifen:
%Vor%Ich würde eine Basisklasse für alle Inhaltsseiten erstellen, etwa:
%Vor%Und dann mache ich jede Seite von BasePage erben, und jeder definiert eine RequiredRoles
%Vor%Dies hat den Vorteil, dass der OnLoad-Handler-Code sauber und DRY ist. Und jede Seite, die von BasePage erbt, muss ein "RequiredRoles" definieren oder es wird nicht kompiliert.
CType (Master.FindControl ("lblName"), Label) .Text = txtId.Text CType (Master.FindControl ("pnlLoginned"), Panel) .Visible = True
Tags und Links asp.net master-pages roles