我使用listview来显示数据库中的数据。在编辑模式下,有一个用于更新数据的保存按钮。我在保存按钮旁边放了一个标签,希望它显示更新状态。保存按钮引发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
提前致谢!
答案 0 :(得分:0)
问题可能是事件触发的顺序以及您正在加载listview 。
尝试调试(单步执行或旧时尚打印行;-))代码,您会注意到首先执行命令事件而不是som listview数据绑定将会发生。查看页面生命周期的简短摘要 here 我想如果你改变了呼叫的顺序,你的问题就应该解决了。
我希望这会有所帮助。
修改强>
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