我有一张包含员工信息的表格:电子邮件,姓名,地址等。在一个页面上有一个下拉列表,只有电子邮件(主键),在第二页面上我想要显示详细信息视图为每个员工。到目前为止,我已将所选电子邮件分配给会话值。
Dim SelectedEmail As String
SelectedEmail = DropDownList1.SelectedValue
Session("selection") = SelectedEmail
我在第一页中创建了一个按钮,将我带到详细页面,反之亦然。我在检索电子邮件时遇到问题,到目前为止我只有这个:
Dim selectedemail As String = Session(" selection")
答案 0 :(得分:0)
我会刺伤。
看来您所做的就是将所选值放在局部变量
中Dim SelectedEmail As String
SelectedEmail = DropDownList1.SelectedValue
当我认为你打算将它放在一个会话变量
中时Session("selection") = DropDownList1.SelectedValue
这样你就可以在另一页上再次拿起它
Dim selectedEmail As String = Session("selection")
答案 1 :(得分:0)
我试图重现这个问题但在我的情况下工作正常。
我在名为default.aspx
的页面中添加了一个按钮和一个下拉列表 <li class="three">
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
</li>
在Page.Load事件处理程序中,我将三个ListItem放在dropDownlist和Button.Click事件处理程序中,我使用DropDownList中的selectedValue添加了一个session属性
这是代码
Public Class _Default
Inherits Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Dim item1 As ListItem = New ListItem("Test A", "test A", True)
Dim item2 As ListItem = New ListItem("Test AB", "test AB", True)
Dim item3 As ListItem = New ListItem("Test C", "test C", True)
DropDownList1.Items.Add(item1)
DropDownList1.Items.Add(item2)
DropDownList1.Items.Add(item3)
End Sub
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Session("variable") = "Test value"
Session("thevalue") = DropDownList1.SelectedValue
Response.Redirect("default2.aspx")
End Sub
结束班
当单击按钮时,我将SelectedValue提供给Session(“theValue”)并重定向到default2.aspx。在default2.aspx中,我只是在检索Session属性后使用Page.Load事件在Response流上写入:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim myvariable As String = Session("variable")
Response.Write("the found value is" + myvariable)
Dim theValue As String = Session("thevalue")
Response.Write("<Br/> from drop down =" + theValue)
End Sub
它运作得很好。
例如,当我从DropDownlist中选择第二项时,我得到以下结果
找到的值isTest值
从下拉列表=测试AB
所以问题出在其他地方。您可以检查并查看您是否在Page.Load事件中正确处理IsPostBack。如果您可以共享更多代码,那将有所帮助。