4 Stimmen

Unter ASP.Net MVC v1 wird Page_Load aufgerufen?

Dumme Montagmorgen-Grund-/Noob-Frage...

Wird Page_Load im Allgemeinen für eine ASP.Net MVC-App aufgerufen?

Wir haben nur eine Seite, Default.aspx.cs - die anscheinend nur für / aufgerufen wird und nicht für Unterpfade, also glaube ich nicht, dass sie im Allgemeinen aufgerufen wird...

Danke für die Antwort - um es klarzustellen, was ich im Page_Load machen möchte, sind die Sicherheitschecks, d.h. ist der Benutzer eingeloggt/berechtigt für die Seite... Es scheint, dass ich ein benutzerdefiniertes Attribut erstellen und es auf eine Controller-Basisklasse setzen sollte.

Danke, Chris

9voto

UpTheCreek Punkte 29856

In der Theorie ist es das, weil eine Ansicht von ViewPage erbt, die die Ereignisse von Page erbt. Es wird jedoch das Load-Ereignis sein (es wird wahrscheinlich nicht automatisch mit Page_Load verbunden).

Allerdings, du willst das höchstwahrscheinlich nicht tun! In einer normalen MVC-Anwendung gibt es kein Konzept des Code-Bereichs. Ansichten (oder alles, was 'hinter' ihnen liegt) sollten keine Logik enthalten. Diese sollte in Ihrem Controller in kleinen Anwendungen oder in größeren Anwendungen in andere Ebenen verschoben werden. Der einzige Grund, warum Sie dies tun möchten, ist die Integration mit einigen bestehenden Nicht-MVC-Apps, auch dann ist es sehr umstritten.

UPDATE:

Für Sicherheit liegen Sie mit Ihren anderen Vorschlägen richtig. (Sie möchten auf keinen Fall Page_Load dafür verwenden). MVC bietet das AuthorizationAttribute von Haus aus an. Sie können es auf Controller-Klassen (oder Basisklassen) und einzelne Aktionen anwenden und autorisierte Rollen angeben. Es funktioniert für die meisten Szenarien. Wenn Sie etwas Benutzerdefiniertes tun möchten, könnten Sie ein benutzerdefiniertes Attribut erstellen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X