2016-06-10 15 views
1

Ich bin neu in klassischen Asp und so ist Ich versuche, den folgenden Code zu verstehen, denklassische ASP Formatfehler

<input class="uploadCalcField" type="text" size="12" name="<%="upload" & "z" & rs("e_cat_id") & "z" & l2_id & "z" & l1_id%>" value="<%=formatnumber(Request.Form("upload" & "z" & rs("e_cat_id") & "z" & l2_id & "z" & l1_id), 0)%>" onClick="this.blur();"> 

die Fehler einen Fehler verursacht

Typenkonflikt: ‚Format‘ .

ich die Ausgabe von

Request.Form("upload" & "z" & rs("e_cat_id") & "z" & l2_id & "z" & l1_id) 

überprüft haben, und es ist leer, was die Ursache zu sein scheint, kann mir jemand helfen, den Fehler zu verstehen?

+1

Normalerweise diese Art von Fehler bedeutet so etwas wie es keine tatsächliche Zahl Format ist. Haben Sie versucht, den Wert der Nummer, die Sie in formatnumber() eingeben möchten, zu debuggen, damit Sie sehen können, mit welchen Werten Sie arbeiten oder nicht? – 4532066

+1

Zum Beispiel, Sie geben eine große lange Liste von Werten in Formatnummer, und auch, Sie scheinen ein "Z" ein paar Mal enthalten - das allein bricht Formatnummer, da es keine Zahl ist. – 4532066

+0

@Idiot, in der Tat denke ich auch dasselbe. Da dies Legacy-Code ist, frage ich mich, aus welchem ​​Grund Code so geschrieben wird. Aber in diesem Moment bin ich völlig verwirrt :( – Prathyush

Antwort

2

Die FormatNumber() schlägt fehl, weil, wie Sie in der Frage darauf hinweisen, der Wert, den es versucht zu formatieren, das von Request.Form() kommt, leer ist.

Die Request.Form Sammlung wird von Classic ASP erstellt, wenn ein HTML-Formular an Classic ASP unter Verwendung der POSTmethod gesendet wird.

Hier ist ein einfaches Beispiel

<html> 
    <head> 
    <title>Test Form Submission to Classic ASP</title> 
    </head> 

    <body> 
    <form method="POST" action="/test.asp"> 
     <input type="text" name="testinput" value="hello world" /> 
     <input type="submit" value="Submit Form" /> 
    </form> 
    </body> 
</html> 

Wenn die Submit Form Button im Browser eine HTTP-Anforderung erzeugt wird, gedrückt wird und gesendet zu verarbeiten, um den Web-Server, in diesem Fall zu klassischen ASP aus.

POST http://example.com/test.asp HTTP/1.1 
Host: example.com 

testinput=hello%20world 

* Weitere Header würde das Beispiel einfach

klassischen ASP nimmt die Zeichenfolge von Schlüssel-Wert-Paare und füllt die Request.Form Sammlung

test.asp zu halten vergangen, aber entfernt werden (aufgerufen, wenn Submit Form Schaltfläche in HTML-Seite gedrückt wird)

<% 
Call Response.Write(Request.Form("testinput")) 
%> 

Ausgang:

hello world 
+1

Vielen Dank für Ihre Hilfe :) – Prathyush

Verwandte Themen