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

时间:2013-08-30 04:34:45

标签: c# asp.net

我有一个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>

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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