我一般都用gridview后台绑定后,前台用<%#Eval(xxx)%>这样的读取数据,但我现在有个需求。比如数据库中有以下数据:
“标题”         “类别编号”
今天天气不错          1
明天天气也行          2我想前台显示:“标题”            “类别”
今天天气不错          娱乐
明天天气也行          教育
也就是说,通过后台的编号来判断:If (“类别编号”=1)
{
“类别“=”娱乐“}
Else if (“类别编号“=2)
{
“类别“=”教育“}在gridview无法读取每条数据的情况下,这样的怎么解决?
以前试过:xx=ds.tables[“mytable”].row[0][0]
前台用<%=xx%> 类似这样的办法读取数据库中的参数,但不知道如何读取每一行数据不同的值。新手提问,不知道懂没懂

解决方案 »

  1.   

    你查询的时候可以用inner join 把几个表联合起来,查出需要的字段,然后显示
      

  2.   

    public static String getStr(string str)
    {
    string returnStr="";
    If (str==1) 

    returnStr="娱乐";

    Else if (str=="2") 

    returnStr="教育"; } 
    return returnStr;
    }<%#getStr(Eval("xxx").ToString())%>如果只是1和2也可直接用三元运算符!!
      

  3.   

    <%# Eval("xx").ToString()=="1" ? "娱乐" : "教育" %>
      

  4.   

    <%#Eval("xx").ToString()=="1"?"教育":"娱乐"%>
      

  5.   


    select 标题,类别=cast when 类别编号=1 then 娱乐 else 教育 end from table或者试试select 标题,(cast when 类别编号=1 then 娱乐 else 教育 end) as 类别 from table
     
      

  6.   

    写错了select 标题,类别=case when 类别编号=1 then 娱乐 else 教育 end from table或者试试select 标题,(case when 类别编号=1 then 娱乐 else 教育 end) as 类别 from table
      

  7.   

    在GridView中进行数据绑定的时候转换。
      

  8.   

    三元运算符是可以的,也可以判断,如果是在页面处理的话  那直接绑定'<%#Eval("字段") %>'
      

  9.   

    在在后台调用函数取值
    或<%#(A)Eval("A").Name%>定义实体类
      

  10.   

    不好意思,我把简单问题复杂化了,不过还是有人懂,csdn就是牛人多。。