Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在gridview项模板中将bool转换为字符串_C#_Asp.net - Fatal编程技术网

C# 在gridview项模板中将bool转换为字符串

C# 在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

我想直接将来自sqlserver数据库的布尔值作为位转换为字符串。问题是,它说它作为布尔值无效,我不明白为什么不能,因为sql中的位不是0就是1

<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>