.net 如何保存模式和密钥?

.net 如何保存模式和密钥?,.net,asp.net-3.5,.net,Asp.net 3.5,我在内部Html中显示以下内容,并将值分配给模式: resultsdata1.InnerHtml += "<tr><td><a href=""Results.aspx?mode=2&key=" & dr("UID") & """>" & dr("PPS") & "</a></td><td>" & dr...... 随后: If ViewState("key")

我在内部Html中显示以下内容,并将值分配给模式:

resultsdata1.InnerHtml += "<tr><td><a href=""Results.aspx?mode=2&key=" & dr("UID") & """>" & dr("PPS") & "</a></td><td>" & dr......
随后:

        If ViewState("key") IsNot Nothing Then
            LearnerPPS = CInt(ViewState("key"))
        End If

        If ViewState("mode") IsNot Nothing Then
            PanelNo = CInt(ViewState("mode"))
        End If

但是由于某些原因,ViewState.Item(“key”)和ViewState.Item(“mode”)都是空的

据我所知,您在Results.aspx页面上有一个链接(至少一个)。在该链接中,您通过链接中的查询字符串将模式和键值传递回同一页面。如果这是正确的,那么代码在错误的位置查找传递的值。您应该在QueryString中查找:

If Request.QueryString("key") IsNot Nothing Then
    LearnerPPS = CInt(Request.QueryString("key"))
End If

If Request.QueryString("mode") IsNot Nothing Then
    PanelNo = CInt(Request.QueryString("mode"))        
End If
resultsdata1.InnerHtml+=”
If Request.QueryString("key") IsNot Nothing Then
    LearnerPPS = CInt(Request.QueryString("key"))
End If

If Request.QueryString("mode") IsNot Nothing Then
    PanelNo = CInt(Request.QueryString("mode"))        
End If