zoukankan      html  css  js  c++  java
  • 格式化GridView 数字0和1转换为男女 及更复杂的处理 TC

    很多情况下在绑定数据的时候,要进行格式转换。如果只有两种状态,比如说在数据库用0表示为男1表示为女,那在数据显示的时候,我们不可能让用户看到的是0和1,他们看到0和1也不明白是什么情况。所以,要进行格式转换。

    先以 男女为示例。

    使用三远运算符进行转换:

    1 <asp:TemplateField HeaderText="性别">
    2      <ItemTemplate>             
            <%# Eval("UserGender").ToString()=="0"?"男":"女" %>

    3      </ItemTemplate>

    4</asp:TemplateField>

     我们也可以在后台写代码进行处理:

    前台:

    1 <asp:TemplateField HeaderText="性别">
    2      <ItemTemplate>
    3         <%# FormatGenderData(Eval("UserGender").ToString())%>             
    4      </ItemTemplate>
    5 </asp:TemplateField>

    后台:

    1   protected string FormatGenderData(string sex)
    2     {
    3         string[] arrs = new string[] { """" };
    4         return arrs[Convert.ToInt16(sex)].ToString();
    5     }

    请大家注意下,为什么使用 protected 来定义,如果使用private,HTML是访问不到这个方法的,因为private是私有的。也可以定义为public,在这就定义成protected。

    还有大家可能会有疑问,为什么我们不使用if else或者switch case等语句来实现呢,虽然是可行的,但是大家有没有想到,那样写,使代码复杂化,我们可以变通下,把需要输出的字符串使用字符串数组顺序来存放,使用索引号来取相应的字符串,这样代码就非常简洁。 

     我们的方法接受的是字符串型参数,Eval()方法返回的是object类型。所以我们需要使用ToString()把数据转化为字符串型。

    如果状态比较多的情况下,比如0 1 2 3 4 也可以使用此方法。

    作者:Mr S.R Lee
    出处:http://www.cnblogs.com/LeeYongze
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

  • 相关阅读:
    js统一设置富文本中的图片宽度
    springboot 使用Filter
    js判断当前浏览器
    es安装ik后报错无法启动 read write
    logback Filter LevelFilter ThresholdFilter
    使用vue构建一个可视化大数据平台
    常用ES6-ES10知识点总结
    常见的web安全问题总结
    web性能优化指南
    使用node+express+mongodb实现用户注册、登录和验证功能
  • 原文地址:https://www.cnblogs.com/LeeYongze/p/1765148.html
Copyright © 2011-2022 走看看