0

リストビューを使用してデータベースからデータを表示しています。編集モードでは、データを更新するための保存ボタンがあります。保存ボタンの横にラベルを付けて、更新状況を表示したい。保存ボタンは ItemCommand イベントを発生させます。このイベントでは、label.text をステータスに設定します。しかし、ラベルは決して表示されません。これを達成する方法はありますか?

フロントエンド:

<EditItemTemplate> 
   <asp:LinkButton ID="LinkButton10" runat="server" CommandName="Save" CommandArgument='<%# Bind("FileId") %>'>Save</asp:LinkButton>
   <asp:Label ID="Label1" runat="server" Text=''  ></asp:Label> 

バックエンド:

If e.CommandName.ToLower.Equals("save") Then
    Dim lblStatus As Label = CType(listView1.EditItem.FindControl("Label1"), Label)
    lblStatus.text= "Status"
End if

前もって感謝します!

4

1 に答える 1

0

問題はおそらく、イベントが発生し、リストビューをロードしている順序です

コードをデバッグしてみてください (ステップ スルーまたは昔ながらの印刷行 ;-) )。最初にコマンド イベントが実行され、次にリストビュー データ バインディングが行われることに気付くでしょう。ここでページのライフサイクルの簡単な要約を確認して ください。呼び出しの順序を変更すれば、問題は解決するはずです。

これが役立つことを願っています。

編集

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If (Not IsPostBack) Then
   ' This code Just runs only on the initial load of the Page
   ' here set datasource and do databinding
End If
于 2013-07-11T13:21:06.603 に答える