Vb.net Listview:在编辑模式下更改标签文本

问题描述:

我正在使用listview来显示数据库中的数据。在编辑模式下,有一个保存按钮来更新数据。我在保存按钮旁边放置了一个标签,并希望它显示更新状态。保存按钮引发一个ItemCommand事件,在这种情况下,我将label.text设置为状态。但标签从不出现。有什么办法可以做到这一点?Vb.net Listview:在编辑模式下更改标签文本

前端:

<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

这个问题似乎涵盖了同样的问题,可能是这有助于[http://*.com/questions/17273194/vb-net-datagrid-set-edititemtemplate-field -visible](http://*.com/questions/17273194/vb-net-datagrid-set-edititemtemplate-field-visible) –

+0

我很想知道你是否可以解决这个问题,或者你是否还需要一些支持? –

+0

我给出的解决方案没有帮助,而且您有更好的解决方案,请与社区分享,或者接受提供的答案。谢谢。 :) –

问题可能是事件触发的顺序和您正在加载列表视图

尝试调试(逐行或oldfashion打印行;-))的代码,你会注意到,首先命令事件是执行和比索姆列表视图数据绑定的东西将发生。结帐页面生命周期的简短摘要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 
+0

感谢您的回复。我浏览了代码,就像你说的,命令事件首先触发,然后数据绑定第二。数据绑定事件将擦除Label1.text。如果我在数据绑定事件中设置了Label1.text,那么如何根据Save事件的状态将文本设置为成功或失败? –

+0

您将不得不加载列表视图页面加载或预加载或之前。像这样,控制事件覆盖默认值。事件的确切顺序可以在我发布的链接中找到。 –

+0

或只有数据绑定列表视图如果它不'IsPostBack'看到我的编辑。 –