首页 > 解决方案 > 经典asp字符串类型不匹配中的错误

问题描述

我不断收到此错误

Microsoft VBScript 运行时错误“800a000d”

类型不匹配:'[string: ""]'

intHPrimary  = rtrim(request.form("chkHPrimary"))
if  len(intHPrimary) > 0 and isNumeric(intHPrimary) then 
    intHPrimary = cint(intHPrimary)
else 
    intHPrimary = 0
end if 
<%if intHPrimary > 0 then%>---This is where I get my error
    <input type="checkbox" name="chkHPrimary" value= "1" checked />
<%else%>
    <input type="checkbox" name="chkHPrimary" value= "1" />
<%end if%></td>         

标签: asp-classic

解决方案


一点重构应该会有所帮助;

<%
Dim checked
Dim intHPrimary : intHPrimary = RTrim(Request.Form("chkHPrimary") & "")
If Len(intHPrimary) > 0 And IsNumeric(intHPrimary) Then intHPrimary = CInt(intHPrimary) Else intHPrimary = 0
If intHPrimary > 0 Then checked = " checked" Else checked = ""
%>
<input type="checkbox" name="chkHPrimary" value= "1"<%= checked %> /></td>

尽量不要在不必要的时候复制 HTML,而是锻炼你的逻辑并在之后应用结果。此外,请确保代码位于 ASP 预处理器标记内<% %>,否则将不会被视为代码。


推荐阅读