0

私のプロジェクトでは、更新パネルにリンクボタンのあるデータリピーターがあります。ユーザーがリンク ボタンをクリックすると、部分的なポスト バックが発生し、リンク ボタンのテキスト プロパティが変更されます。問題は、ユーザーが同じボタンをもう一度クリックすると、Web ページで新しいテキスト値を物理的に見ることができるにもかかわらず、デバッガーがイベントにヒットすると、送信者オブジェクトは、テキスト値が最後ではなく古い値であると言う更新しました。理由を知っている人はいますか?コードは次のとおりです。

<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
4

1 に答える 1

0

ほとんどの場合、ポストバックでデータを再バインドしているため、値がリセットされています。次に、ボタンクリックイベントが発生しているので、Text正しく設定しています。しかし、再度ポストバックすると、テキストがリセットされます。

DataBindイベントを次のようにラップしますIf Not IsPostBack

If Not IsPostBack
    'Bind your datasource
End If 
于 2013-02-04T18:35:03.457 に答える