【问题标题】:Can I convert a bit value to display image in a ASP.NET GridView我可以转换位值以在 ASP.NET GridView 中显示图像吗
【发布时间】:2013-09-02 17:11:43
【问题描述】:

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

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

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

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

    【讨论】:

    • 我已经对代码进行了一些更改,但仍然出现错误 公共静态字符串 GetLang(bool value) { if (value == null) { return "../images/cross.png"; } 否则返回“../images/tick.png”; }
    【解决方案2】:

    只需将.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>
    

    【讨论】:

      猜你喜欢
      • 2010-09-18
      • 2022-07-27
      • 1970-01-01
      • 2013-02-14
      • 2014-08-09
      • 2010-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多