C# 带条件的GridView按钮
我有一个gridview,它有三列:名称、姓氏、更改(ButtonField列),由SqlDataReader填充,代码如下C# 带条件的GridView按钮,c#,asp.net,gridview,sqldatareader,C#,Asp.net,Gridview,Sqldatareader,我有一个gridview,它有三列:名称、姓氏、更改(ButtonField列),由SqlDataReader填充,代码如下 SqlCommand sqlCommand = new SqlCommand("select * from Empl where userId ='" + userid + "'", sqlConnection); sqlConnection.Open(); SqlDataReader rea
SqlCommand sqlCommand = new SqlCommand("select * from Empl where userId ='" + userid + "'", sqlConnection);
sqlConnection.Open();
SqlDataReader reader = sqlCommand.ExecuteReader();
GridView1.DataSource = reader;
GridView1.DataBind();
在我的数据库中有4列:UserId、Name、姓氏、Change(bit)。只有当数据库中的更改(bit)列为true时,如何显示按钮更改?您可以这样做
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btnChange" runat="server" Text="Change"
Visible='<%# (Boolean) Eval("Change") %>' />
</ItemTemplate>
</asp:TemplateField>
正如您在评论中提到的,您在上面的代码中遇到错误,您可以尝试像
Visible='<%# Convert.ToBoolean(Eval("Change")) == true ? true : false %>'
Visible=''
hm我尝试了这个,但我得到了一个错误code
这对ButtonField不起作用,你必须使它成为模板字段。你的意思是这样吗<代码>代码代码我再次收到错误。异常详细信息:System.InvalidCastException:指定的强制转换无效。您可以将此Visible=''更改为Visible=''