VBScript / Classic ASP - Wie überprüfe ich, ob eine Eigenschaft in einem Objekt vorhanden ist, ohne einen Fehler zu verursachen

8

Beispielcode:

%Vor%

Das Problem:

Wenn ein ähnlicher Code in meiner Anwendung ausgeführt wird, wird ein 500 -Fehler vom Server mit einer Nachricht ähnlich wie "Objekt unterstützt keine Eigenschaft oder Methode 'someProperty'. Was ich tun möchte, um dies zu lösen Problem ist etwa so:

%Vor%

Wenn ich jedoch die Bedingung hinzufüge, wird derselbe Fehler in der Zeile mit der Bedingung anstelle der Zeile mit dem Methodenaufruf ausgelöst.

Meine Frage:

Wie erkennen Sie in ASP Classic, ob eine Eigenschaft in einem Objekt vorhanden ist, ohne einen Fehler zu verursachen?

    
Levi Hackwith 16.04.2012, 01:57
quelle

3 Antworten

13

Einer der Vorteile von klassischem ASP besteht darin, dass Sie sowohl VBScript als auch JScript auf derselben Seite ausführen können - Sie können also beide Möglichkeiten nutzen.

Fügen Sie zuerst diesen JScript-Block zu Ihrer vorhandenen .asp -Datei hinzu:

%Vor%

Und unter der Annahme, dass VBScript die Standardsprache auf der Seite ist, können Sie sie wie folgt in Ihrem VBScript-Code aufrufen:

%Vor%

Getestet mit einem generischen Klassenobjekt und es funktioniert gut - das JScript wird vor dem VBScript kompiliert, auf das es so zugreifen kann.

    
Shadow Wizard 17.04.2012, 07:12
quelle
7

Leider bedeutet dies normalerweise eine 'Fehler' Aussage.

%Vor%     
Lynn Crumbling 16.04.2012 02:03
quelle
2

Unter der Annahme, dass Sie eine js-Datei runat="server" einfügen, die Sie mit dem JSON-Parser versorgt, wird JSON.parse ein Javascript-Objekt zurückgeben.

Wenn die obige Annahme richtig ist, dann sollte folgendes funktionieren:

%Vor%     
AnthonyWJones 16.04.2012 11:57
quelle

Tags und Links