2011-07-27 48 views
0

我已經繼承了一個經典的asp網站,它有一個相當健壯的自定義cms。我們最近把這個網站移到了我們的一個託管機器上,並且最近注意到了在包含文件中獲取frmo函數值的問題(至少那是我認爲正在發生的事情)。有一些嵌套的包含文件,但我相信它們都被正確包含。經典的ASP類函數返回空白

我確定包含功能正常,因爲我測試過更改路徑並顯示錯誤。

下面是包括代碼:

<!--#include virtual="/admin/core/functions/fncGlobal.asp" --> 

功能我試圖得到一個值從是:

Function FormatURL(ByRef in_str) 
    Dim BadChars, RepChars, NewString, i 
    NewString = Trim(in_str) 
    NewString = StripNonAlphaNum(NewString) 
    NewString = Trim(NewString) 
    NewString = Replace(NewString, " ", "-") 
    NewString = Replace(NewString, "----", "-") 
    NewString = Replace(NewString, "---", "-") 
    NewString = Replace(NewString, "--", "-") 
    FormatURL = LCase(NewString) 
End Function 

剝離字母數字字符的功能:

Function StripNonAlphaNum(inString) 
    Dim oRE, strOutput, theString 
    If inString <> Null Then  
     inString = Replace(inString, "'", "") 
     inString = Replace(inString, "&amp;", "") 
     inString = Replace(inString, "&reg;", "") 
     inString = Replace(inString, "&trade;", "") 
     inString = Replace(inString, "&copy;", "") 
     inString = Replace(inString, "&quote;", "") 
     Set oRE = New Regexp 
     oRE.Global = True 
     oRE.IgnoreCase = True 
     oRE.Pattern = "[\W_]" 
     strOutput = oRE.Replace(inString, " ") 
     StripNonAlphaNum = strOutput 
    Else 
     StripNonAlphaNum = "" 
    End If 
End Function 

我測試過從這個函數返回一個字符串,但我仍然得到相同的空白結果。

我測試的功能是這樣的:

Response.Write("Test URL: " & FormatURL("Format URL Title Test")) 

結果我得到的是

測試網址:

有什麼明顯的,我做錯了什麼?我對ASP不是很有經驗。

回答

1

的問題是這一行StripNonAlphaNum()

If inString <> Null Then 

爲了測試Null,您應該改用

If not IsNull(inString) then 

Here is a reference

1

可能是線顯示下方做錯了事:

NewString = StripNonAlphaNum(NewString) 

您是否嘗試註釋掉這一行來看看會發生什麼?

我有註釋掉該行,它工作正常

沒有什麼不對的代碼

Module Module1 

    Function FormatURL(ByRef in_str) 
     Dim BadChars, RepChars, NewString, i 
     NewString = Trim(in_str) 
     NewString = Trim(NewString) 
     NewString = Replace(NewString, " ", "-") 
     NewString = Replace(NewString, "----", "-") 
     NewString = Replace(NewString, "---", "-") 
     NewString = Replace(NewString, "--", "-") 
     FormatURL = LCase(NewString) 
    End Function 


    Sub Main() 
     Console.WriteLine(FormatURL("Format URL Title Test")) 
     Console.Read() 
    End Sub 

End Module 
+0

我嘗試將該行註釋掉,仍然是同一個問題。我將創建一個單獨的測試頁面,僅使用這些功能來消除任何其他可能性。 – TGuimond