首页 > 解决方案 > 在 Gridview 上设置三个 if else 条件

问题描述

这是我的代码:

<asp:TemplateField HeaderText="App/Deny">
<ItemTemplate>

    <asp:Label ID="lblAppDeny" runat="server" Text='<%#Eval("App/Deny").ToString() == "" ? "Paddings" : null + "," + Eval("App/Deny").ToString() == "Approve" ? null : "Approve" + "," + Eval("App/Deny").ToString() == "Deny" ? null : "Deny" %>' CssClass='<%#Eval("App/Deny").ToString() == "" ? "badge warning text-sm" : null + "," + Eval("App/Deny").ToString() == "Approve" ? "badge success text-sm" : null + "," +Eval("App/Deny").ToString() == "Deny" ? null : "badge danger text-sm" %>'>
    </asp:Label>

</ItemTemplate>
</asp:TemplateField>

如果 String.Empty 可用,则我需要在列中显示三种类型的值,然后该值显示为 Pending,如果该值是 Approve 或 Deny,则显示该值。

标签: c#asp.netgridview

解决方案


您可以简单地在 GridView 所在的页面上创建一个方法来处理 if else 代码。

public string formatValue(string input)
{
    if (string.IsNullOrEmpty(input))
    {
        return "Empty";
    }
    else if (input == "Pending")
    {
        return "Is pending";
    }
    else
    {
        return "Available";
    }
}

在网格视图中

<asp:TemplateField HeaderText="App/Deny">
    <ItemTemplate>
        <%# formatValue(Eval("App/Deny").ToString()) %>
    </ItemTemplate>
</asp:TemplateField>

推荐阅读