【问题标题】:Error in classic asp String type mismatch经典asp字符串类型不匹配错误
【发布时间】:2020-10-23 15:10:58
【问题描述】:

我不断收到此错误

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


    【解决方案1】:

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

    <%
    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 预处理器标签 &lt;% %&gt; 内,否则不会被视为代码。

    【讨论】:

    • Else checked = "" 不是强制性的:)
    • @Zam 我喜欢描述性的,这样就不会有歧义。
    猜你喜欢
    • 2012-01-31
    • 2016-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    • 2016-06-12
    • 1970-01-01
    相关资源
    最近更新 更多