日期:2014-05-17  浏览次数:20583 次

Repeater绑定显示字段
数据绑定到Repeater,有一状态state列,存的数字,0或1,0表示正常,1表示禁用,如果直接绑定,就显示0或1,我想绑定0的时候显示”正常“,绑定1的时候显示“禁用”,应该怎么办

------解决方案--------------------
<%#Eval("state").ToString().Trim()=="0"?"正常":"禁用"%>
------解决方案--------------------
Eval("state")==0?"正常":"禁用"
------解决方案--------------------
<%#Eval("state").ToString()=="0"?"正常":"不正常"%>

------解决方案--------------------
我觉得这样好扩展一些,可以将public string GetState(object e)封装,其他页面亦可调用

test.aspx.cs

public string GetState(object e)
    {
        return e.ToString().Trim()=="0"?"正常":"不正常";
    }


<asp:Repeater ID="rptObjList" runat="server">
          <ItemTemplate>
            <b><%# GetState(Eval("state"))%> </b>
  </ItemTemplate>
     </asp:Repeater>

------解决方案--------------------
引用:
<%#Eval("state").ToString().Trim()=="0"?"正常":"禁用"%>

直截了当。
------解决方案--------------------
引用:
引用:XML/HTML code
?



1

<%#Eval("state").ToString()=="0"?"正常":"不正常"%>
如果再有个2代表删除,应该怎么写
<%#Eval("state").ToString().Trim()=="2"?"删除":(Eval("state").ToString().Trim()=="0"?"正常":"禁用")%>
------解决方案--------------------
其实修改显示状态,不一定非要在页面上处理,如果是数据集是通过sql语句方式查出来的,完全可以在数据库中处理,比如说是oracle数据库,可以用decode(state,0,'正常','禁用')这种方式
------解决方案--------------------
引用:
如果再有个2代表删除,应该怎么写


数据库中decode函数,可以全部处理,select decode(state,0,'正常','2','删除','禁用') state_str from XXX,页面上直接<%#Eval("state_str") %>就OK
只是我的个人见解,感觉这样做更简单