GridView后台代码动态显示隐藏ItemTemplate

由于项目要求,需要根据数据库的字段值动态显示或者隐藏按钮,在网上找了一些资料,都是在RowDataBound事件里判断,其实只要是ItemTemplate列下的控件可以在后台代码中实现该功能

首先,库中字段为coursestate,是一个bit类型

<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton runat="server" CommandName="Upload" Visible='<%#(bool)Eval("coursestate")?false:true %>' Text="上传指导书"></asp:LinkButton>
</ItemTemplate></asp:TemplateField>

可以设置Visible属性来动态实现(可以根据字段不同类型来改变<%#%>中改变代码判断)

RowCommand中获取触发事件的行号

((GridViewRow)((LinkButton)(e.CommandSource)).Parent.Parent).RowIndex;

接下来就可以随意发挥了啊

原文地址:https://www.cnblogs.com/larson/p/1734047.html