Veröffentlicht 23. Juli 201411 j 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
24. Juli 201411 j 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 24. Juli 201411 j von lbm1305
25. Juli 201411 j 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.