我可以在ASP.NET GridView中转换位值以显示图像吗

本文关键字:显示 显示图 图像 换位 转换 ASP NET GridView 我可以 | 更新日期: 2023-09-27 18:29:39

我有一个ASP.NET GridView,其中一列映射到布尔值。我想显示图像而不是真/假。

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="false" Width="980">
    <Columns>
    <asp:TemplateField HeaderText="Selected">
    <ItemTemplate>
        <asp:Image ID="Image4" runat="server" ImageUrl='<%# (Boolean.Parse(Eval("is_selected").ToString())=="1" ? "~/images/tick.png" : "~/images/cross.png" %>'   />
    </ItemTemplate>
    </asp:TemplateField>
     </Columns>
    </asp:GridView>

我可以在ASP.NET GridView中转换位值以显示图像吗

只需将.ToString())=="1"替换为.ToString())==true

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="false" Width="980">
    <Columns>
    <asp:TemplateField HeaderText="Selected">
    <ItemTemplate>
        <asp:Image ID="Image4" runat="server" ImageUrl='<%# (Boolean.Parse(Eval("is_selected").ToString())==true ? "~/images/tick.png" : "~/images/cross.png" %>'   />
    </ItemTemplate>
    </asp:TemplateField>
     </Columns>
    </asp:GridView>

我建议您将此解析逻辑移到视图模型类中,该类解析逻辑并在字符串属性中返回图像url。这样,它将是可单元测试的,并且更易于管理。