0

要么一个都不展示,要么展示一个。当没有出现时,条件永远不会被击中

    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
4

2 回答 2

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
于 2013-05-21T08:05:54.647 回答
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
于 2013-05-21T07:54:55.017 回答