3

我是 ASP.NET 的新手,我在获取列表框以在发布到另一个页面时返回正确的数据时遇到问题。我已经得到了下拉列表和单选按钮。例如,对于下拉列表,我只是这样做了:

Public ReadOnly Property SiteID() As String
    Get
        Return ddlSites.SelectedValue
    End Get

然后,在下一页上,我使用 PreviousPage.SiteID 成功返回了该值。但是,当我为列表框尝试此操作时:

Public ReadOnly Property CustID() As String
    Get
        Return lstLoggedInCustomers.SelectedValue.ToString
    End Get
End Property

然后使用 PreviousPage 调用它,我得到一个空字符串,因为 SelectedIndex 总是返回 -1,即使我在列表框中选择了一个项目。

4

3 回答 3

1

SelectedValue 在回发时从 ViewState 中读取。但是 ViewState 在下一页上不再可用。为什么不将 SelectedValue 保存在 Session 中,以便在下一页参考它?

于 2011-01-22T22:39:14.533 回答
1

我也有类似的情况。我使用了 user252340 的方法并存储了值:

Session["MemberName"] = memberName;

然后在PageLoad另一个页面中获取值:

 MemberName.Value = Session["MemberName"].ToString();

希望这可以帮助

于 2011-01-28T19:00:13.123 回答
0

在这种情况下,您可以在重定向到另一个页面之前将值保留在视图状态中。所以从下一页你调用就像:

Public ReadOnly Property CustID() As String
    Get
        Return viewstate("myCustID") 
    End Get
End Property

我希望它会奏效。

于 2011-01-22T17:34:58.167 回答