Server.mapPath

lambda

Erfahrenes Mitglied
Hallo,

kleines Verständnisproblem:

Warum kann ich Server.mapPath in jeder Funktion meiner CodeBehind-Class aufrufen, aber nicht in einer Nested Class im selben Namespace?

Quasi so: :p

Code:
public class _default : System.Web.UI.Page {
	
                 ....
        

private void Page_Load(object sender, System.EventArgs e) {
     string foo = Server.mapPath("xyz");   //-->  Klappt
      ....
}

private class Foo_Class {
     public Foo_Class() {
           string foo = Server.mapPath("xyz"); //--> klappt nicht
            ....
      }

}

Danke vorab!
 
Hallo,

Aus meiner Sicht kann das so nicht funktionieren, weil deine "nested" Klasse, keinesfalls die Eigenschaften der übergeordneten Klasse erbt, auch wenn sie im selben namespace vereinbart wurde.

Um das Server-Element auch in Deiner foo-Klasse zu Verfügung zu haben kannst Du diese von Deiner _default Klasse ableiten...also in etwa so:

private class Foo_Class : _default {
....

Dann kannst Du, wie Du beschrieben hast, das Server-Objekt im Standardkonstruktor nutzen!

Aber trotzdem vorsicht mit solchen mehrfach Vererbungen, das kann ziemlich schnell unübersichtlich werden und ins Auge gehen!

Hoffe das hilft Dir weiter.

Gruß

Alex
 
Zurück