Asp classic 经典ASP格式编号错误

Asp classic 经典ASP格式编号错误,asp-classic,Asp Classic,我是新的经典asp,所以我试图理解下面的代码,这是导致错误 <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" &am

我是新的经典asp,所以我试图理解下面的代码,这是导致错误

<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();">
它是空的,这似乎是原因,有人能帮我理解错误吗?

因为正如您在问题中指出的,它试图格式化来自
Request.Form()
的值是空的,所以
FormatNumber()
失败

当使用
POST
方法将HTML表单提交给Classic ASP时,
Request.Form
集合由Classic ASP构建

下面是一个简单的例子


向经典ASP.NET提交测试表单
当在浏览器中按下
提交表单
按钮时,将生成一个HTTP请求并发送到Web服务器,在这种情况下,将发送到Classic ASP进行处理

POSThttp://example.com/test.asp HTTP/1.1
主持人:example.com
testinput=您好%20world
*将传递更多的头文件,但会将其删除以保持示例的简单性

经典ASP获取键值对字符串并填充
请求.Form
集合

test.asp(在HTML页面中按下
提交表单
按钮时调用)


输出:

你好,世界

通常,这种错误意味着没有实际的数字需要格式化。您是否尝试过调试要输入formatnumber()的数字的值,以便查看您正在使用或未使用的值?例如,您在formatnumber中输入了一个很长的值列表,而且,您似乎多次包含一个“z”-仅此一项就将破坏formatnumber,因为它不是一个数字。@傻瓜,事实上,我也有同样的想法。因为这是遗留代码,所以想知道为什么代码是这样写的。但此时此刻我完全感到困惑:(@biot实际上整个
z
东西都是
请求的一部分。Form()
调用
FormatNumber()
目前它正在
请求中寻找
“upload”和“z”&rs(“e_cat_id”)&“z”&l2_id&“z”&l1_id
集合,但找不到它。尝试只输出字符串
“upload”&“z”&rs(“e_cat_id”)&“z”&l2_id&“z”&l1_id
它生成了什么?,
请求中找不到它。表单()
collection.@Lankymart,谢谢您的帮助。我正在检查表单集合,以确定为什么没有相应的值。谢谢您的帮助:)
Request.Form("upload" & "z" & rs("e_cat_id") & "z" & l2_id & "z" & l1_id)