我的网页上有一个Repeater控件,从数据库中查询出数据绑定到上面。但是有一个字段是int类型的,我要根据这个int类型的数字改变成相对应的文字,因为设计的表中是1代表什么,2代表什么。我要怎样才能不让它显示为数字呢。
我试过用Label不行,也试过在绑定的代码中<%# %>里面用switch但报格式错误。

解决方案 »

  1.   

    你这个可以用if...else做呀!~~ 
    <%#GetWordType(Eval("你的字段").ToString())%>protected string GetWordType(string Type)
    {
      string Value=string.Empty;
      if(Type=="1")
        { Value=""; }
      else if(Type=="2")
        { Value="";}
      else
        { Value=""; }

    return Value;
      

  2.   

    上面的返回值位置错了!~protected string GetWordType(string Type)
    {
      string Value=string.Empty;
      if(Type=="1")
        { Value=""; }
      else if(Type=="2")
        { Value="";}
      else
        { Value=""; }
    return Value;} 
      

  3.   

    SELECT (case Sex when 1 then '女' else '男' end) as sexcl from tablename
      

  4.   

    <%# DataBinder.Eval(Container.DataItem, "字段名").ToString().Trim()==1?DataBinder.Eval(Container.DataItem, "字段名").ToString().Trim().Substring(0,16):DataBinder.Eval(Container.DataItem, "字段名").ToString().Trim() %>
      

  5.   

    你检索出来的数据集,不是在datatable里么?
    循环datatable,假设你那个字段名字为A
    for(int i=0;i<dt.rows.count;i++)
    {
        if(dt.rows[i]["A"].tostring()=="1"){dt.rows[i]["A"] = "xxxx"}
        else if(dt.rows[i]["A"].tostring()=="2"){dt.rows[i]["A"] = "yyyy"}
    }
      

  6.   


    <%#Eval("字段").ToString()=="1"?"true":"false" %>
      

  7.   

    <%# Eval("字段").ToString()=="0"?"通过":"不通过"%>
      

  8.   


    这样子只能是一个if else。 我需要很多个判断。
      

  9.   

    <%# Eval("字段").ToString() == "0" ? "通过" : (Eval("字段").ToString() == "1" ? "不通过" : (Eval("字段").ToString() == "2"?"楼主":"以此类推"))%>
      

  10.   

    多就写个方法嘛。
    <%#fangfa(Eval("字段").ToString()) %>后台public string fangfa(string str)
    {
     switch(str)
       {
          case "1" : return "内容";break;
            ...
            ...
           default: return "..";break;
       }
    }
      

  11.   

    如果数据量不大建议使用select case 效率要高点
      

  12.   

    我说的数据量不是指你的总记录数,而是指你的这个字段里的数字表示的意思,例如表示男女之类的,而不是表示一个很长的一句话,这个时候可以直接用select case
    和你的总记录条数没关系,即使有10万条也是一样的,因为你不可能一次查这么多数据。
      

  13.   

    也可以在Repeater1的ItemDataBound事件里把值取出来判断处理后,重新给控件赋新值