GridView操作列根据列数值或条件显示或隐藏按钮控件
在aspx.cs里用控件ID.visible=true||false
来控制按钮的显示隐藏,cs文件会报控件id未在上下文定义的问题。
要通过列值来控制按钮的显示与隐藏,我们可以直接在前端标签里加上Visible='<%# Eval("字段名").ToString()=="xxx" %>'
,利用<%# %>嵌入技术来实现。
例:
gridview中某一列的值,对应数据库中的demo列。要根据这一列的值,决定是否显示模板列中的“更新”按钮。操当作栏更新按钮在当条件列“demo”的值为“同意”时,显示按钮,否则不显示。
<asp:BoundField DataField="demo" HeaderText="条件" />
<asp:TemplateField >
<ItemTemplate>
<asp:Button ID="update" Text="更新" runat="server" CommandArgument='<%# ((GridViewRow)Container).RowIndex %>'
CommandName="update" Visible='<%# Eval("demo").ToString()=="同意" %>'
/>
</ItemTemplate>
</asp:TemplateField>```