更改linkbutton文本时的奇怪行为

时间:2013-02-04 18:13:33

标签: asp.net vb.net

在我的项目中,我在updatepanel中有一个datarepeater,带有一个linkbutton。当用户单击链接按钮时,会发生部分回发并更改链接按钮的text属性。问题是:当用户再次点击同一个按钮时,即使我可以在网页上实际看到新的文本值,当调试器点击事件时,发送者对象说文本值是旧值,而不是最后一个更新。谁知道为什么?这是代码:

<asp:LinkButton runat="server" ID="lbEdit" Text="Edit" EnableViewState="true"  OnClick="edit_click" CommandArgument='<%# Eval("user.networkId") %>'></asp:LinkButton>

代码隐藏:

  Protected Sub edit_click(ByVal sender As Object, ByVal e As EventArgs)
    Dim btn As LinkButton = CType(sender, LinkButton)
    Dim userId As String = btn.CommandArgument
    If (btn.Text = "Edit") Then
       btn.Text = "Save"
    else
       btn.Text = "Edit"
    end if
  end sub

1 个答案:

答案 0 :(得分:0)

您最有可能在回发时重新绑定数据,因此它会重置您的值。然后点击按钮点击事件,所以是的,你正确设置Text。但是当你再次回发时,文本正在重置。

DataBind事件包裹在If Not IsPostBack

If Not IsPostBack
    'Bind your datasource
End If