2016-04-17 6 views
0

ich habe diese Datei in Visual Studio 2012 erstellt. Die erste Seite der Umfrage funktioniert völlig in Ordnung, aber wenn sie anzeigt, dass sie '500 internen Serverfehler zeigt. Das Projekt hat keinen Kompilierungsfehler. Ich öffne diese Datei mit Filezilla kann mir bitte jemand helfen. es ist ein einfaches Programm, das den Wert von survey.asp abruft und den Wert im nächsten Formular in einem Tabellenformat anzeigt.Ftp mit filezilla in asp.net

------ survey.asp -----------------------------

<!DOCTYPE html> 

<html lang="en" xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta charset="utf-8" /> 
    <title>Survey Form</title> 
</head> 
<body> 
    <form method="post" action="display.asp"> 
     <br/> 
     Please Enter Your Age <input type="text" name="first" value="<%=request("Age")%>"/> <br /> <br/> 
     Please Enter Your Salary $ <input type="text" name="sal" value="<%=request("salary")%>"/> <br /><br/> 
     What level of Education Have You Completed : <br/> 
     <input type="radio" name="radiobutton" value="<%=request("education")%>"/> Some High School <br /> 
     <input type="radio" name="radiobutton" value="<%=request("education")%>"/> Completed high School <br /> 
     <input type="radio" name="radiobutton" value="<%=request("education")%>"/>Some College Education <br /> 
     <input type="radio" name="radiobutton" value="<%=request("education")%>"/> Completed a B.S Degree <br /> 
     <input type="radio" name="radiobutton" value="<%=request("education")%>"/> Completed a Master Degree <br /> <br/> 
     <input type="submit" value="Send Survey" /> 
</form> 
</body> 
</html> 

- --------- display.asp ---------------------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

    <% 
    Age = request.form("first") 
    salary = request.form("sal") 
    education = request.form("radiobutton").ToString(); 
    if age="" or salary="" or education="" then 
    %> 
<html> 
    <head><title></title></head> 
    <body> 
You must enter all the info 
<form method="post " action="survey.asp"> 
    <input type="hidden" name="age" value="<%=age%>" /> 
    <input type="hidden" name="salary" value="<%=salary%>" /> 
    <input type="hidden" name="education" value="<%=education%>" /> <br/> 
    <input type="submit" value="Return" /> 
</form> 

</body> 
</html> 

<% 
response.end 
end if 
%> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head> 
    <title>Display Name</title> 
</head> 
<body> 

You entered: <br /> 
<table> 
<tr> 
    <td> <%=age%> </td> 
    <td> <%=salary%> </td> 
    <td> <%=education %> </td> 
</tr> 
</table> 

<br /> 
</body> 
</html> 

Antwort

2

Dies ist klassische Asp mit VBScript, nicht asp.net mit C#. Sie erhalten keine Kompilierungsfehler mit classic, da sie nicht kompiliert werden, sondern zur Laufzeit interpretiert werden.

Sie erscheinen eine Reihe von C# in display.asp gesetzt zu haben - wenn Sie die Zeile

education = request.form("radiobutton").ToString(); 

mit

education = Cstr(request.form("radiobutton")) 

ersetzen Dies sollte Ihre erste 500-Fehler lösen. Das Umschließen innerhalb von Cstr() ist eigentlich nicht notwendig, aber es ist die VBScript-Art, in eine Zeichenkette zu konvertieren.

Ich denke nicht, dass Ihre Optionsfeldgruppe funktioniert, wie Sie es codiert haben. Wenn Sie versuchen, den ursprünglich übermittelten Wert beizubehalten, sollten Sie so etwas tun.

<input type="radio" name="radiobutton" value="1" <% If request.form("education") = "1" Then Response.write "checked" End if %> /> Some High School <br /> 
<input type="radio" name="radiobutton" value="2" <% If request.form("education") = "2" Then Response.write "checked" End if %> /> Completed high School <br /> 
<input type="radio" name="radiobutton" value="3" <% If request.form("education") = "3" Then Response.write "checked" End if %> />Some College Education <br /> 
<input type="radio" name="radiobutton" value="4" <% If request.form("education") = "4" Then Response.write "checked" End if %>/> Completed a B.S Degree <br /> 
<input type="radio" name="radiobutton" value="5" <% If request.form("education") = "5" Then Response.write "checked" End if %>/> Completed a Master Degree <br /> <br/> 

Ich würde vorschlagen, dass auf einer anderen Seite eine zweite Form aufweist, ist nicht der beste Weg, Formularvalidierung zu tun, besser, die Form Post an, sich selbst zu und bedingte Anweisungen verwenden, um Fehlermeldungen neben dem erscheinen einzelne Formularelemente, wenn nichts leer ist.

Betrachten Sie schließlich diese Seite - es zeigt Ihnen, wie Sie nützliche Fehlermeldungen in Classic ASP aktivieren. http://www.chestysoft.com/asp-error-messages.asp