按下按钮

时间:2015-08-21 23:52:14

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

我总共有4个观看次数。在视图1中,用户输入他们的名字,然后单击按钮进入下一个视图

<lable for="fname">First Name</lable>
<asp:TextBox ID="fname" runat="server" required></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" style="color:red" ErrorMessage="* Letters Only" ControlToValidate="fname" ValidationExpression="^[aA-zZ]*$" ></asp:RegularExpressionValidator>

我想在第3个视图上重新显示用户的输入。这是我的代码

<asp:Label ID="cardName" runat="server" Text="Name On Card"></asp:Label>
<asp:Label ID="Label1" runat="server" ></asp:Label>

vb for it

Private Sub View3_Activate(sender As Object, e As EventArgs) Handles View3.Activate
        Label1.Text = fname.Text
End Sub

这不起作用,所以我尝试了这个

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Label1.Text = fname.Text
End Sub

(当点击按钮3时,页面从视图2转到视图3.按钮类型未提交)

这些都不适合我

1 个答案:

答案 0 :(得分:2)

您可以使用ASP.NET Session存储用户输入的值,然后在想要在视图3上显示时将该值从Session中拉出。

在视图1上的按钮单击事件处理程序中,执行以下操作:

Protected Sub View1_ButtonClick(sender As Object, e As EventArgs) Handles Button1.Click
    Session("FirstName") = fname.Text
End Sub

现在在视图3的Page_Load中,执行此操作:

Sub Page_Load(ByVal Sender As System.Object, ByVal e As System.EventArgs)
    ' Get first name value out of Session by name here and set label
    Label1.Text = Session("FirstName").ToString()
End Sub

注意 - 您放入Session的内容属于Object类型,因此您必须将值转换为正确的类型。在这种情况下,.ToString()会将String设为rtfTerminal.Invoke(new EventHandler(delegate { rtfTerminal.SelectedText = string.Empty; rtfTerminal.SelectionFont = new Font(rtfTerminal.SelectionFont, FontStyle.Bold); rtfTerminal.SelectionColor = LogMsgTypeColor[(int)msgtype]; rtfTerminal.AppendText(msg); rtfTerminal.ScrollToCaret(); })); ,可以作为标签的文字。