2014-01-05 87 views
0

我在Classic ASP中有一個函數,它接收一個值並在函數中通過各種CASE語句運行。我想要做的是將該函數的值返回到我可以使用的變量中。經典ASP - 從函數返回值

例如

Function whichNumber(intNumber) 
SELECT CASE intNumber 
CASE 1 
whichNumber = "Yes" 
CASE 2 
whichNumber = "No" 
END SELECT 
END Function 

當我打電話通過在網頁中該功能:

whichNumber(intNumberToFunction) 

我期待那麼變量「whichNumber」是不是「是」或「否」。因此,在下一行代碼我使用:

strNumberText = whichNumber 

但是導致錯誤:

的參數或無效的屬性賦值錯誤號碼:「whichNumber」

如果我回去並在功能中將以下內容放在該功能的末尾:

Response.Write whichNumber 

它正確地寫入「是」或「N o「到屏幕。反正有沒有把函數的值返回給函數外部使用的變量?

希望這是有道理的!在網絡上閱讀似乎可能無法從這樣的函數返回值?

+0

jazza是正確的,我只是想補充一點,你應該在你的select語句中包含一個默認情況,因爲你偶然通過這個函數管道輸出一些數據庫的輸出,並且intNumber是1或2以外的東西。然後你的函數將在我的經驗1.爆炸。 2.返回一個空字符串。 3.返回空值。 – MarkyMarksFunkyBunch

回答

3

你不需要寫

strNumberText=whichNumber(intNumberToFunction) 

錯誤消息告訴你,你已經調用的函數,而沒有經過參數

+0

這很有道理。在那個基礎上,我將如何得到這個函數的價值。可以說我把它改爲: CASE 1 whichNumberOUT =「是」 如果我然後說strNumberText = whichNumberOUT當我在函數外部使用它時,該值爲空。 – Dean

+1

從函數內部,您不必擔心代碼中的參數。要在函數中分配返回值,請使用whichNumber =「Yes」。當你調用函數時,你需要參數strNumberText = whichNumber(intNumberToFunction)。從這一點上strNumberToText包含返回的值 – jazza1000

+0

哦,我明白了!這一切都有道理:)。謝謝你清理:) – Dean