VBScript For循环不执行if语句?

时间:2013-08-29 14:19:53

标签: for-loop asp-classic vbscript conditional-statements

不完全确定如何使用VBScript搜索此问题,所以如果这是重复,请原谅。

我有一个功能可以在一个带有2个参数totalpgsactive的页面上打印分页。我的问题是active页面仅在变量pg设置为时才应用链接上的样式。我很确定这是一个逻辑问题,但我现在已经盯着它看了7天。

这是函数:

'======= Print Pagination links
function print_pagination (totalpgs,active)
    p = "<div class=""row"">"
    p = p & "<div class=""pagination pagination-right"">"
    p = p & "<ul>"
    for x = 1 to totalpgs
        if x = active then
            li = "<li class=""active"">"  '<- Set class for current page
        else
            li = "<li>" '<- else regular link
        end if
        p = p & li & "<a href='?pg="& x &"'>"& x &"</a></li>"
    next 
    p = p & "</ul></div></div>"
    print_pagination = p
end function

以下是页面上的代码:

pg = request.querystring("pg")
if pg = "" then
    pg = 1
end if

<%=print_pagination(totalpages,pg) %>

这是期望的结果:

Desired result is graying out the current page.

我希望当前的<li>包含一个名为active的类。

这就是发生的事情:

The active class is never getting applied.

active类永远不会应用于<li>标记。当url包含get变量pg时,不会分配活动类。如果没有,则将其应用于第一个链接。

1 个答案:

答案 0 :(得分:2)

更改与此进行比较的行:

    if cstr(x) = cstr(active) then