主题:  请教 repeater 控件的问题

Casper

职务:普通成员
等级:1
金币:0.0
发贴:5
#12005/5/2 21:14:13
我想用 repeater 控件来显示数据,

OleDbDataReader myReader = objCommand.ExecuteReader();
Repeater1.DataSource = myReader;
Repeater1.DataBind();
myReader.Close();


页面:

<asp:Repeater id="Repeater1" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "aaa") %>
</ItemTemplate>
</asp:Repeater>


数据库里面有的字段是 bool 型的, 比如有个 gender 字段, 我想在它取出的时候做判断, 如果是 true 就显示 boy, false 显示 girl.

请问怎么才能在代码里调用 repeater 控件里的内容? 谢谢了.



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#22005/5/2 22:25:12
如果是用sqlserver数据库,可用case语句转化,参照sql帮助的case用法

也可以用函数
public string ShowGender(bool gender)
{
    if (gender)
        return "boy";
    else
        return "girl";
}

在aspx文件中:
<%# ShowGender(DataBinder.Eval(Container.DataItem, "gender")) %>


非常大鱼

Casper

职务:普通成员
等级:1
金币:0.0
发贴:5
#32005/5/2 23:14:19
提示有错误, 请问这是为什么啊?

Compiler Error Message: CS1502: The best overloaded method match for '_8d_membership.member_list.ShowGender(bool)' has some invalid arguments


Line 42: <td width="30" height="25"><%# ShowGender(DataBinder.Eval(Container.DataItem, "gender")) %></td>



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#42005/5/3 1:30:01
确定参数是bool型



Casper

职务:普通成员
等级:1
金币:0.0
发贴:5
#52005/5/3 10:08:01
搞好了, 我转换了一下类型,

<%# ShowGender((bool)DataBinder.Eval(Container.DataItem, "gender") ) %>