如何获取已更改文本的值

时间:2014-02-03 06:58:13

标签: asp.net vb.net

当我点击GridView中的链接时,它会将我重定向到另一个页面并同时传递参数。

代码如下所示。

    <ItemTemplate>  
    <asp:LinkButton ID="EditAnnouncement" runat="server" CommandName="Edit" CommandArgument='<%# Bind("annID") %>'>Edit</asp:LinkButton>  
    </ItemTemplate>

这是vb中的代码

    Response.Redirect("editmemannouncement.aspx?annID=" + e.CommandArgument)

这是有针对性的页面

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    param1 = Request.QueryString("annID")  
    //search record using the "annID" (will only get 1 record)  
    TextBox2.Text = reader.Item("anntitle").ToString  

用户可以更改TextBox2中的文本。在定向页面中,还有一个按钮。当我单击按钮时,我想在TextBox2中获取更改的文本。我试过了

    Dim s As String = TextBox2.Text  

但我只返回原始值而不是更改的值。如何从TextBox2.Text中获取更改的值

3 个答案:

答案 0 :(得分:0)

在每个页面上加载你再次设置TextBox2,所以即使你有更改它,你也看不到更改,因为你覆盖它。

使用IsPostBack在您回发时不会覆盖它:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack 
   param1 = Request.QueryString("annID")  

   //search record using the "annID" (will only get 1 record)  
   TextBox2.Text = reader.Item("anntitle").ToString 
End If

答案 1 :(得分:0)

您需要将代码保存在if(!Page.IsPostBack)部分

  If Not IsPostBack
   param1 = Request.QueryString("annID")  
    //search record using the "annID" (will only get 1 record)  
    TextBox2.Text = reader.Item("anntitle").ToString  

答案 2 :(得分:0)

尝试使用

IsPostBack:获取一个值,该值指示页面是第一次呈现还是正在加载以响应回发。

Sub Page_Load
   If Not IsPostBack
     param1 = Request.QueryString("annID")  
     TextBox2.Text = reader.Item("anntitle").ToString 
   End If
End Sub