Frage

Ich bin mit dem asp.net MVC Framework. In meiner Anwendung hat ein Benutzer eingeloggt sein. Und wenn die Kombination aus Benutzername und Passwort korrekt ist, das div (oder Platte?) Mit dem Menü drin, muss sichtbar werden. Aber wie kann ich das tun? Wenn ein Name meiner Platte pnlMenu, in meinem Controller kann ich etwas nicht wie:

pnlMenu.visible = true;

Also, wie ich dies zu tun?

War es hilfreich?

Lösung

Was Sie tun sollen, ist in Ihrem Controller überprüfen, ob ein Benutzer angemeldet ist und einen Wert in der Viewdata wie folgt festgelegt:

ViewData["IsLoggedIn"] = true;

Dann Ihrer Ansicht nach können Sie die Sichtbarkeit der auf dieser Wertmethode festgelegt. Auf diese Weise, wenn Sie die Ansicht später ändern, oder entscheiden, mehrere Ansichten haben, können sie jeder benutzen diesen Wert und es gibt keine Verbindung zwischen Ihrer Sicht und dem Controller.

Andere Tipps

Erstellen Sie eine Methode oder Eigenschaft auf Ihrer Ansicht, dass Sie die entsprechenden Kontrollen zu verbergen oder zeigen, ermöglicht?

Dann in der Controller Sie diese Eigenschaft oder Methode Ihrer Ansicht zugreifen können, nicht wahr?

Sie wollen nicht spezifisch verweisen ‚steuern‘ auf Ihrer Ansicht in Ihrem Controller, da eine der Ideen von MVC ist, dass Sie nur die Benutzeroberfläche mit einer anderen Implementierung ersetzen können (Web / win / ...) und machen Verwendung der gleichen Controller und Anwendungslogik. Dann wollen Sie nur einen Vorgang beschreiben, die Ihre Ansicht unterstützen sollte, so, in der Schnittstelle, die den ‚Vertrag‘ beschreiben, die Ihre Ansicht unterstützen, müssen Sie eine Methode erstellen sollten, die ‚Change (bool LoggedIn)‘ genannt wird zum Beispiel.

In der Steuerung können Sie diese Methode aufrufen, wenn der Benutzer angemeldet hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top