我在Repeater控件外部有一个Add按钮。当ADD IS单击时,一个新行被插入到数据库中并被数据化为转发器。 单击ADD按钮,我想在新的转发器行中显示链接按钮。
提前感谢您的帮助。
DirectCast(e.Item.FindControl("lnksave"), LinkButton).Visible = True
此代码我不能放在我的ADD按钮的点击事件中。我应该做些什么更改来显示新创建的行中的链接按钮。
答案 0 :(得分:0)
我会在标记中设置LinkButton的属性Visible="false"
:
<asp:Repeater ...
... ... ...
<ItemTemplate>
<asp:LinkButton ID="lnksave" runat="server" Visible="false">LinkButton</asp:LinkButton>
</ItemTemplate>
在后面的代码中,在页面级别声明一个标志:
Dim btnClicked As Boolean = False
在“添加”按钮的事件方法中,将标志设置为true。然后数据绑定转发器:
Protected Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
btnClicked = True
BindRepeater() 'your method to data bind repeater
End Sub
在转发器的项目数据绑定事件方法中检查标志并相应地设置链接按钮的可见属性:
Protected Sub Repeater1_ItemDataBound(sender As Object, e As RepeaterItemEventArgs) Handles Repeater1.ItemDataBound
If (e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem) Then
Dim lnksave As LinkButton = DirectCast(e.Item.FindControl("lnksave"), LinkButton)
lnksave.Visible = btnClicked
End If
End Sub