我有个asp.net网站,前台用到了reapter,然后里面设计到一个绑定值,与reapter绑定的数据表中的内容是编号,另一张表中有编号对应的内容。
我只绑定一张表,前台显示的为编号,即:“状态:A”,而与另一张表对应的A的中文信息为“执行”。我想让reapter中显示出:“状态:执行”。如何实现。由于另一张表比较简单,我放了一个dropdownlist,然后把value设为:A,把text设为:执行。有没有办法,象后台那样直接用str=dropdownlist.Items.FindByValue("A").Text.ToString().

解决方案 »

  1.   

    用这个:Eval(“”)=A?"执行":"不执行"
      

  2.   

    可以考虑在sql语句中,把两个表联合起来查询,然后构造出一个字段来 用来显示  状态:执行
      

  3.   

    额,如果是有A,B,C,D四个项呢,每个都有对应的内容
      

  4.   

    由于另一张表比较简单,我放了一个dropdownlist,然后把value设为:A,把text设为:执行。有没有办法,象后台那样直接用str=dropdownlist.Items.FindByValue("A").Text.ToString().不是很懂!  
      

  5.   

    如果这个值对应的不多的话  那你在CS代码里通过绑定的时候用CASE下 返回你要的值 就是在绑定的时候<%# getState(DataBind.Eval(...))%  然后在CS里写这个getState的方法
      

  6.   

    就是吧另一张表的内容放到了dropdownlist里面。因为有value和text两个项
      

  7.   

    那就写一个方法吧!这时候去操作数据库浪费资源!public static string getStr(string str)
    {
                     switch (str)
                {
                    case "A":
                        return "执行";
                        break;
                    case "xx":
                        return "";
                        break;
                    default:
                        retrun "";
                        break;
                }
    ]
      

  8.   

    有个问题
     try
            {
                return ddl_state.Items.FindByValue(str).Text.ToString();
            }
            catch
            { return "Error!"; }然后,前台:
    Text='<%#GetState(Eval("tt_state").ToString()) %>'每次都返回error!
    如果不加tostring的话,提示字符串不正确。
      

  9.   

    有个问题 
    try 
            { 
                return ddl_state.Items.FindByValue(str).Text.ToString(); 
            } 
            catch 
            { return "Error!"; } 然后,前台: 
    Text=' <%#GetState(Eval("tt_state").ToString()) %>' 每次都返回error! 
    如果不加tostring的话,提示字符串不正确。
      

  10.   

    嗯! 你加上toString()就行了!
      

  11.   

    错误是未将对象引用之实例。但是str的值已经获取了
      

  12.   

    楼主别用dropdownlist,你这个只是简单的,吧编号对应另一个表的字段内容,就是级联查询的问题,
    你可以在sql语句中写这个语句,这样效率也高啊。你如果不知道语句怎么写,你把2个表(主表、子表)结构贴出来,大家帮你写就行了。你现在的做法是把问题复杂化了。