1

我在尝试让 IsNumeric 与 Request.QueryString 一起正常工作时遇到问题。

服务器是Windows 2008 R2 / IIS7.5

我的代码再简单不过了:

    <%@ LANGUAGE=VBScript %>
    <% Response.Write "IsNumeric: " & IsNumeric(Request.QueryString("")) %>

我的网址: http://localhost.com/default2.asp? 44hjh

输出:IsNumeric: True

如果我将代码更改为此,那么我会得到想要的结果:

    <%@ LANGUAGE=VBScript %>
    <% Response.Write "IsNumeric: " & IsNumeric(Request.QueryString("test")) %>

我的网址: http://localhost.com/default2.asp?test= 44hjh

输出:IsNumeric: False

当我没有指定特定的查询字符串元素时,为什么 IsNumeric 不起作用?更重要的是,我该如何解决?

4

2 回答 2

4

Request.QueryString("")不存在并因此返回NULL——没有一个参数是空白的。 IsNumericNULL值将返回 True。

除了 using Request.QueryString(""),您可以像在第二个示例中那样提供参数,或者Request.QueryString假设没有其他参数被传递到您的页面,则单独使用:

<% Response.Write "IsNumeric: " & IsNumeric(Request.QueryString) %>
于 2013-05-02T15:18:53.740 回答
0

那是因为isnumeric空值返回一个整数类型。这就是为什么您在第一种情况下得到TRUE的原因。isnumeric而在第二种情况下,您正在检查字符串类型。

于 2013-05-02T15:13:03.687 回答