0

我在中继器控件之外有一个添加按钮。单击添加时,将新行插入数据库并将数据绑定到中继器。单击添加按钮时,我希望在新的中继器行中显示一个链接按钮。

在此先感谢您的帮助。

 DirectCast(e.Item.FindControl("lnksave"), LinkButton).Visible = True

这段代码我不能放在我的添加按钮的点击事件中。我应该做些什么改变来在新创建的行中显示链接按钮。

4

1 回答 1

0

我会Visible="false"在标记中设置 LinkBut​​ton 的属性:

<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
于 2013-10-04T04:39:48.127 回答