转发器 - 按钮单击

时间:2013-10-04 01:46:09

标签: asp.net vb.net repeater linkbutton

我在Repeater控件外部有一个Add按钮。当ADD IS单击时,一个新行被插入到数据库中并被数据化为转发器。 单击ADD按钮,我想在新的转发器行中显示链接按钮。

提前感谢您的帮助。

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

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

1 个答案:

答案 0 :(得分:0)

我会在标记中设置LinkBut​​ton的属性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