为什么我的 ASP 函数没有返回 A Href 中的 link?

Why is my ASP function not returning the link inside the A Href?

早上好,

我目前正在编写一个经典的 ASP 函数来修改 URL,但添加了产品名称以增强 link 的强度。我已经设法让 link 正确,但它没有被放置在 HREF 中,它显示为 URL.

为了更好地解释这一点,请参阅下面的示例:

看一下第一类输出: http://www.dibor.co.uk/sitemap.asp

函数:

function URLName(var1,var2)
    dim nameString
    dim scString
    scString = UCase(var2)
    nameString = var1
    nameString = Replace(nameString," ","-")
    nameString = Replace(nameString,"'","")
    nameString = Replace(nameString,"!","")
    nameString = Replace(nameString,"&","and")
    varString = LCase(nameString)
    response.write("http://www.dibor.co.uk/Product.asp?ProductId=" & scString & "&title=" & varString)
end function

输出代码:

Response.Write "<li><a href='" & 
    URLName(LivingRoomFurniture.fields("ProductTitle"), 
    LivingRoomFurniture.fields("StockCode")) & "'>" & 
    LivingRoomFurniture.fields("ProductTitle") & "</a> - " & 
    FormatCurrency(LivingRoomFurniture.fields("Price"),2) &"</li>"

为了return一个函数的值,你把它赋值给函数名;在函数中使用 response.write 会在输出代码执行之前写出 URL。换句话说,您的修复应该是:

function URLName(var1,var2)
    dim nameString
    dim scString
    scString = UCase(var2)
    nameString = var1
    nameString = Replace(nameString," ","-")
    nameString = Replace(nameString,"'","")
    nameString = Replace(nameString,"!","")
    nameString = Replace(nameString,"&","and")
    varString = LCase(nameString)
    URLName = "http://www.dibor.co.uk/Product.asp?ProductId=" & scString & "&title=" & varString
end function