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