C# 在gridview项模板中将bool转换为字符串
我想直接将来自sqlserver数据库的布尔值作为位转换为字符串。问题是,它说它作为布尔值无效,我不明白为什么不能,因为sql中的位不是0就是1C# 在gridview项模板中将bool转换为字符串,c#,asp.net,C#,Asp.net,我想直接将来自sqlserver数据库的布尔值作为位转换为字符串。问题是,它说它作为布尔值无效,我不明白为什么不能,因为sql中的位不是0就是1 <asp:TemplateField HeaderText="Estado" SortExpression="EstadoInventario"> <ItemTemplate> <asp:Label ID="lblEstadoArtigo" runat="server" CssCl
<asp:TemplateField HeaderText="Estado" SortExpression="EstadoInventario">
<ItemTemplate>
<asp:Label ID="lblEstadoArtigo" runat="server"
CssClass='<%# (Boolean.Parse(Eval("EstadoInventario").ToString())) ? "badge badge-success" : "badge badge-danger" %>'
Text='<%# (Boolean.Parse(Eval("EstadoInventario").ToString())) ? "Aberto" : "Fechado" %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
我只想根据它的值显示文本,并更改类因为您的Eval函数返回1或0字符串,而不是bool.Parse方法所需的true或false,所以您需要在使用convert.ToBoolean之前将其转换为数字表示形式,或者直接将Convert.ToBoolean与EvalestadInventario一起使用,而不使用ToString:
相关问题:
试着先用。你从那里得到了什么,一个真/假字符串或其他什么?它显示了1或0,它的奇怪原因在以前的项目中显示了真或假,但那是在一个中继器中,我在这里使用GridViewer,使用它怎么样?您需要使用convert.ToBoolean进行数字表示转换。哦,我明白了,这很有效,谢谢!尽管它只在不启动Convert的情况下起作用,但ToBooleanEvalestadInventario也应该起作用
<%-- alternative 1 --%>
<asp:Label ID="lblEstadoArtigo" runat="server"
CssClass='<%# (Convert.ToBoolean(Convert.ToInt32(Eval("EstadoInventario").ToString()))) ? "badge badge-success" : "badge badge-danger" %>'
Text='<%# (Convert.ToBoolean(Convert.ToInt32(Eval("EstadoInventario").ToString()))) ? "Aberto" : "Fechado" %>'>
</asp:Label>
<%-- alternative 2 --%>
<asp:Label ID="lblEstadoArtigo" runat="server"
CssClass='<%# (Convert.ToBoolean(Eval("EstadoInventario"))) ? "badge badge-success" : "badge badge-danger" %>'
Text='<%# (Convert.ToBoolean(Eval("EstadoInventario"))) ? "Aberto" : "Fechado" %>'>
</asp:Label>