Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[ASP.NET] Funktionen auf Masterseite

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

ich bin noch neu in ASP.NET, aber bin schon auf einige Probleme gestoßen. Aktuell möchte ich auf meiner Masterseite eine Methode eines User-Objekts ansprechen, welches ich in der Session hinterlegt habe.

Das User-Objekt ist eine selbst erstellte Klasse, bei der ich jedoch die Methoden nicht verwenden kann, da Sie rem Compiler an der Stelle nicht bekannt sind.

Ich bekomme die Meldung:

"object" enthält keine Definition für "hasPermission", und es konnte keine Erweiterungsmethode "hasPermission" gefunden werden, die ein erstes Argument vom Typ "object" akzeptiert. (Fehlt eine Using-Direktive oder ein Assemblyverweis?)

Jetzt kommt meine eigentliche Frage:

Ich habe einen Cast zum Typ user versucht, jedoch scheint meine Klasse in der Site.Master garnicht bekannt zu sein. An welcher Stelle könnte ich ein Using verwenden, damit die Klasse bekannt ist? Oder muss ich das irgendwie anders lösen?

Mfg

Shadowman

Kurze Test:

In der Masterpage im Kopfbereich:

<%@ Import Namespace="WebApplication1.Model" %>
Dann weiter, irgendwo in der Seite steht

<% if( ((User)(Session["User"])).HasPermission()) { %>

                <h1>Hallo Welt</h1>

<% } %>

Im Namensraum Model, was nur ein eigener Ordner ist, befindet sich die Klasse User.

Bearbeitet von lbm1305

  • Autor

Ah, hier hätte ich schon gestern was schreiben können.

Ich habe den Namensraum meiner Klasse direkt beim Cast mit übergeben, jedoch hatte ich beim erstellen des Projekts einen Buchstabendreher drin. Der ist aber nicht aufgefallen.

Aus diesem Grund konnte meine Klasse nicht gefunden werden und auch bei meinen Versuchen (bei denen ich mein Projekt richtig geschrieben habe) konnte ich weiterhin meine eigenen Objekte nicht finden. Der Buchstabendreher ist mir dann aufgefallen und seitdem geht alles.

Das mit

<%@ import namespace="" %>

ist allerdings sehr hilfreich, weil ich die ganze Zeit etwas gesucht habe, dass ich Namespaces oder Klassen direkt verwenden kann.

Trotzdem Danke!

Kann geschlossen werden

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.