我在中继器控件之外有一个添加按钮。单击添加时,将新行插入数据库并将数据绑定到中继器。单击添加按钮时,我希望在新的中继器行中显示一个链接按钮。
在此先感谢您的帮助。
DirectCast(e.Item.FindControl("lnksave"), LinkButton).Visible = True
这段代码我不能放在我的添加按钮的点击事件中。我应该做些什么改变来在新创建的行中显示链接按钮。
我在中继器控件之外有一个添加按钮。单击添加时,将新行插入数据库并将数据绑定到中继器。单击添加按钮时,我希望在新的中继器行中显示一个链接按钮。
在此先感谢您的帮助。
DirectCast(e.Item.FindControl("lnksave"), LinkButton).Visible = True
这段代码我不能放在我的添加按钮的点击事件中。我应该做些什么改变来在新创建的行中显示链接按钮。
我会Visible="false"
在标记中设置 LinkButton 的属性:
<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