SqlServer数据库中的表读出来后,存放在DataSet中。
然后用Repeater控件,把数据显示出来。有一个字段是bit类型的,我想读取出后,如果是0,显示“错误”;如果是1,显示“正确”。
我是这样做的:......<script language="C#" runat="server">
string BoolToStr(bool b)
{
return b ? "正确":"错误";
}
</script>......<asp:Repeater id="Administrators" runat="server">
<ItemTemplate>
<%# BoolToStr( ((DataRowView)Container.DataItem)["Enabled"]) %></br> </ItemTemplate></asp:Repeater>
编译器错误信息: CS1502: 与“ASP.administrators_list_aspx.BoolToStr(bool)”最匹配的重载方法具有一些无效参数

解决方案 »

  1.   

    其中"Enabled"是个bit型的字段。
      

  2.   

    和下面这个例子一样的,只不过一个是绑定DataGrid,你的是绑定Repeater,改一下就成了。
    http://dotnet.aspx.cc/ShowDetail.aspx?id=F73EF6AD-6878-4748-B963-5181252E5AED
      

  3.   

    try:
    <%# BoolToStr( Convert.ToBoolean(((DataRowView)Container.DataItem)["Enabled"])) %>
      

  4.   

    <asp:Repeater id="Administrators" runat="server">
    <ItemTemplate>
    <%# BoolToStr( ((DataRowView)Container.DataItem)["Enabled"].ToString()) %></br> </ItemTemplate></asp:Repeater>
    string BoolToStr(string b)
    {
    if(b=="true")
                      {
                          return "正确";
                      }
                      else
                      {
                          return "错误";
                      }
    }
      

  5.   

    1. <%# BoolToStr( Convert.ToBoolean(((DataRowView)Container.DataItem)["Enabled"])) %>给转化一下2. 你把参数类型改下<script language="C#" runat="server">
    string BoolToStr(string b)
    {
                 if (b=="1") return  "正确";
                 else        return "错误";
      }
    </script>