将下拉列表选定值传递到其他页面中的详细信息视图?

时间:2015-02-14 17:31:17

标签: asp.net .net vb.net visual-studio

我有一张包含员工信息的表格:电子邮件,姓名,地址等。在一个页面上有一个下拉列表,只有电子邮件(主键),在第二页面上我想要显示详细信息视图为每个员工。到目前为止,我已将所选电子邮件分配给会话值。

    Dim SelectedEmail As String

     SelectedEmail = DropDownList1.SelectedValue
Session("selection") = SelectedEmail

我在第一页中创建了一个按钮,将我带到详细页面,反之亦然。我在检索电子邮件时遇到问题,到目前为止我只有这个:

Dim selectedemail As String = Session(" selection")

2 个答案:

答案 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。如果您可以共享更多代码,那将有所帮助。