Button 使用vb.net更改gridview中的按钮文本

Button 使用vb.net更改gridview中的按钮文本,button,gridview,Button,Gridview,我是vb.net的新手。我有一些问题如何实现这一点。我有gridview,按钮将根据列状态而改变。如果其状态为“已阻止”,则按钮将为“取消阻止”,如果状态为空,则按钮将为“阻止”我的另一个问题是,单击按钮后,所选行按钮将在数据库中更新,并将状态更改为已阻止。如果用户单击“阻止”,则按钮将再次更改为“取消阻止”按钮,反之亦然。非常感谢您的帮助 状态|解除阻塞/阻塞 (空白)|块(按钮) 阻塞|阻塞(应为解锁按钮) 这个代码有什么问题…为什么不起作用 <asp:BoundField DataF

我是vb.net的新手。我有一些问题如何实现这一点。我有gridview,按钮将根据列状态而改变。如果其状态为“已阻止”,则按钮将为“取消阻止”,如果状态为空,则按钮将为“阻止”我的另一个问题是,单击按钮后,所选行按钮将在数据库中更新,并将状态更改为已阻止。如果用户单击“阻止”,则按钮将再次更改为“取消阻止”按钮,反之亦然。非常感谢您的帮助

状态|解除阻塞/阻塞

(空白)|块(按钮)

阻塞|阻塞(应为解锁按钮)

这个代码有什么问题…为什么不起作用

<asp:BoundField DataField="AllowStatus" 
        HeaderText="" ReadOnly="True" 
        SortExpression="AllowStatus"> 
        <ItemStyle Width="300px" />
    </asp:BoundField>
    <asp:TemplateField HeaderText="Block/Unblock">
            <ItemTemplate>
                <asp:Button ID="BlockButton" runat="server" CausesValidation="false" CommandName="" Text="Block" />
            </ItemTemplate>
    </asp:TemplateField>




Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) ' Handles GridView1.RowDataBound **<<ooops my mistake I comment out this >.< ..that's why it's not working**
        If e.Row.RowType = DataControlRowType.DataRow Then
            Dim allowstatus As String = (DataBinder.Eval(e.Row.DataItem, "AllowStatus")).ToString
            Dim btn As Button = DirectCast(e.Row.FindControl("BlockButton"), Button)
            If allowstatus = "Blocked" Then
                btn.Text = "Unblocked"
            End If
        End If
End Sub 


受保护的子GridView1_RowDataBound(ByVal sender作为对象,ByVal e作为System.Web.UI.WebControl.GridViewRowEventArgs)处理GridView1.RowDataBound**处理GridView1_RowDataBound事件。根据列(blocked/EmptyString)的值,使用FindControl查找按钮并将其文本更改为block/unblock

,但如何在加载页面时迭代数千个数据以更改文本按钮?将数据绑定到网格时,在数据绑定到UI控件后,会为每一行引发RowDataBound事件。此时,您知道列状态(阻塞/清空字符串)。您可以根据thatAh确定按钮的标签我看到了..这是RowDataBound的功能..谢谢..抱歉,但我如何知道状态(阻止/清空)?…vb.net的确切语法是什么?谢谢