previouspage.findcontrol从上一页获取变量

时间:2009-06-12 03:54:32

标签: asp.net vb.net

我试图保留上一页中变量的值。我相信这是C#的方式来做到这一点,但我想vb.net方式可以有人请求帮助:

TextBox myTxt = (TextBox)Page.PreviousPage.FindControl("previousPageTextBox");   
currentPageTextBox.text = myTxt.Text;

我想知道如何在vb.net中编写代码

我试过这个:

Dim myTxt As TextBox = CType(Page.PreviousPage.FindControl("Textbox1"), TextBox)
        TextBox1.Text = myTxt.Text

但是我收到了这个错误消息:

使用new关键字创建对象实例

2 个答案:

答案 0 :(得分:4)

这应该这样做,同时确保你使用Server.Transfer在页面间进行..但我相信你已经知道了:

Dim myTxt as TextBox = CType(Page.PreviousPage.FindControl("previousPageTextBox"), TextBox)
currentPageTextBox.text = myTxt.Text

答案 1 :(得分:2)

dim txt as TextBox =CType( Page.PreviousPage.FindControl("previousPageTextBox"),
                           TextBox)
currentPageTextBox.Text = txt.Text

PS: - 您需要在要查找控件的页面中设置上一页。

<%@ PreviousPageType VirtualPath="~/Test.aspx" %>

更好的方法是在上一页上创建一个函数,该函数返回文本框中的文本。

 internal function TextBoxText() as string
       return myTextPage.Text
 end function

并在下一页上使用此代码:

currentPageTextbox.Text = Page.PrevousPage.TextBoxText

让我知道这是否有效,因为我很长时间没有使用过vb。

PPS: - 仅当您使用 Server.Transfer 或使用某些asp.net contorl(如简单的href链接中的LinkBut​​ton)转到 currentPage 时才可用 PreviousPage 为空