2013-05-02 83 views
1

我在嘗試使IsNumeric與Request.QueryString正常工作時遇到問題。IsNumeric()不能與Request.QueryString一起使用

的服務器是Windows 2008 R2/IIS7.5

我的代碼不能再簡單不過:

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

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

輸出: 則IsNumeric:真

如果我更改我的代碼到這個,那麼我得到期望的結果:

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

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

輸出: 則IsNumeric:假

爲什麼當我不指定特定的查詢字符串的元素也則IsNumeric不行?更重要的是,我該如何解決它?

回答

4

Request.QueryString("")不存在,因此返回NULL - 沒有參數是空白的。 IsNumericNULL值將返回True。

而不是使用Request.QueryString("")的,你可以提供參數,你在你的第二個例子一樣,或者只是本身使用Request.QueryString假設沒有其他的參數被傳遞到您的網頁:

<% Response.Write "IsNumeric: " & IsNumeric(Request.QueryString) %> 
+0

奇妙的是,你的例子完美的作品!非常感謝,謝謝:) – Rich 2013-05-02 15:24:33

+0

@Rich - np,很高興我能幫上忙! – sgeddes 2013-05-02 15:36:03

0

這是因爲空值的isnumeric返回整數類型。這就是爲什麼你在第一種情況下得到TRUE。而您在第二種情況下使用isnumeric檢查字符串類型。

+0

有趣...謝謝回覆!任何關於如何檢查它是否是數字的建議? – Rich 2013-05-02 15:19:26

相關問題