格式化GridView 数据库类型为数字0和1转换为中文 已领取、未领取

在GridView中,将数据库字段Status的0和1值转换为用户友好的“未领取”和“已领取”显示。提供两种解决方案:1)后台CS代码使用三元运算符进行转换;2)直接在aspx客户端使用三元运算符,无需额外后台代码。通过这种方式,可以提高用户体验,确保他们能清晰理解数据含义。

昨天在做一个案子,遇到GridView绑定列表的时候,后台字段用0和1表示的状态,显示的时候想显示为“未领取”,“已领取”。要进行格式转换。我们不可能让用户看到的是0和1,用户看到0和1也不明白是什么意思。开始研究了好久,java里面el表达式就很快搞定了。asp.net里面研究了下

先以 我的案例为示例。

数据字段:Status int   0和1标示 ,0:未领取;1:已领取

介绍2套解决方案:

1:使用三元运算符和前后台写代码进行转换:

1):后台CS代码:

 /// <summary>
        /// 格式化数据
        /// </summary>
        /// <param name="status"></param>
        /// <returns></returns>
        protected string FormatStatusData(string status)  
        {    
            string[] arrs = new string[] { "未领取", "已领取" };  
            return arrs[Convert.ToInt16(status)].ToString();  
        } 

2):aspx 客户端代码:

首先编辑列,将status这一列设置为模板列,直接代码如下:

<asp:TemplateField HeaderText="状态">
                    <ItemTemplate>

                    <!--<%# FormatStatusData(Eval("Status").ToString())%>-->

                   <!-- 三元运算符,不需要前后台代码-->
                    <%# Eval("Status").ToString() == "0" ? "未领取" : "已领取"%>  
                    </ItemTemplate>
</asp:TemplateField>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值