如果声明在ASP Classic中未按预期工作

0 asp-classic

我有一个if..else语句,用于显示学生是否有资格根据数据库中的值进行竞争.但是,我的代码无法正常工作.

我的代码如下:

<% If (rs_view.Fields.Item("StudentStatus").Value="OK") Then %>
<strong><font color="#3300FF" size="-1" face="Arial, Helvetica, sans-serif">
<%Response.Write("You are QUALIFIED to go for competition")%>
</font></strong>

<% Else %>

<strong><font color="#FF0000" size="-1" face="Arial, Helvetica, sans-serif">
<%Response.Write("You are NOT QUALIFIED to go for competition")%>
</font></strong>

<% End If %>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

  • 它无法正常工作.意味着学生是合格的还是不合格的,对于这两种状态,它仍然显示不合格.

MyI*_*hin 5

也许记录集中的StudentStatus字段是小写的?用UCase()包裹它?

此外,您可以真正简化该代码的可读性......

<%
Dim RspMsg, RspColor
If (UCase(rs_view("StudentStatus"))="OK") Then 
    RspMsg = "You are QUALIFIED to go for competition"
    RspColor = "#3300FF"
Else
    RspMsg = "You are NOT QUALIFIED to go for competition"
    RspColor = "#FF0000"
End If

%>

<strong><font color="<%=RspColor%>" size="-1" face="Arial, Helvetica, sans-serif">
<%=QualificationResponse%></font></strong>
Run Code Online (Sandbox Code Playgroud)

  • 听起来您的StudentStatus永远不会等于"OK",您应该尝试输出StudentStatus的值以查看它实际上是什么.通常,在您发现时创建状态列字符数据是个坏主意.使StudentStatus成为Status表中的外键引用将限制StudentStatus的可能值并解决任何歧义. (2认同)