Vb.net 如果没有查询字符串,则永远不会满足条件

Vb.net 如果没有查询字符串,则永远不会满足条件,vb.net,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 St

要么不提交,要么提交一份。如果没有显示,则条件永远不会达到

    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

可能是因为它被我迷住了。您总是返回页面

试试这个

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

不确定你的问题是什么,从问题上看不出来,但是,我会像这样重写函数

注意在原始函数中,当
为Nothing
或为空时,返回
\u page

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

打开
选项Strict
并帮你自己一个忙。另外,
如果String.IsNullOrEmpty(_page)=True,并且…
比需要的更详细。如果String.IsNullOrEmpty(\u page)并且还?(同样地,
Not
通常作为与
False
进行比较的备选方案)Damien_不信者-我为你编辑的Q更新了代码-意味着你遇到了False-False条件,所以你得到了空字符串..我仍然没有得到空字符串我仍然没有得到空字符串this@ruffone你得到了什么?显示
\u page
\u pge
的声明,并告诉我们它们分配了哪些值。我更新了代码值为“,”而不是“,”