如果没有显示queryString,则永远不会满足条件

时间:2013-05-21 07:41:03

标签: vb.net

这些都不会呈现,也不会呈现一个。如果没有出现,则不会发现该条件

    Private _page As String = HttpUtility.UrlEncode(HttpContext.Current.Request.QueryString("Page"))
    Private _pge As String = HttpUtility.UrlEncode(Page.RouteData.Values("page"))

    Private Function getPage() As String
        Dim ret As String = ""
        If String.IsNullOrEmpty(_page) = True AndAlso String.IsNullOrEmpty(_pge) = True Then
            ret = 1
        ElseIf String.IsNullOrEmpty(_page) = False AndAlso String.IsNullOrEmpty(_pge) = True Then
            ret = _page
        ElseIf String.IsNullOrEmpty(_page) = True AndAlso String.IsNullOrEmpty(_pge) = False Then
            ret = _pge
        End If
        Return ret
    End Function

2 个答案:

答案 0 :(得分:0)

可能会被它哄骗。你总是返回_page

试试这个..

Private Function getPage() As String
        If String.IsNullOrEmpty(_page) = True AndAlso String.IsNullOrEmpty(_pge) = True Then
            _page = 1
            Return _page
        ElseIf String.IsNullOrEmpty(_page) = False AndAlso String.IsNullOrEmpty(_pge) = True Then
            Return _page
        ElseIf String.IsNullOrEmpty(_page) = True AndAlso String.IsNullOrEmpty(_pge) = False Then
            Return _pge
        Else
            Return _page
        End If

    End Function

答案 1 :(得分:0)

不确定你的问题是什么,无法从问题中得知,但是,我会重写这个函数。

原始函数中的

注意,当_page为空时返回Nothing或为空。

Private Function GetPage() As String
    Dim pageHasValue = Not String.IsNullOrEmpty(_page)
    Dim pgeHasValue = Not String.IsNullOrEmpty(_pge)

    If pageHasValue AndAlso pgeHasValue Then
        Return "1"
    End If

    If pgeHasValue Then
        Return _pge
    End If

    If pageHasValue Then
        Return _page
    End If

    Return String.Empty
End Function