aspx 代码:联系人:<asp:Label ID="Label6" runat="server"  Text='<%#Check(DataBinder.Eval(Container.DataItem))%>'></asp:Label>
cs 代码:
 public string Check1(DataRowView container)
    {
      if (GlobalClass.IsLogin())
        {
            return container["consignername"].ToString();
        }
        else 
        {
            return "请登陆后查看联系人";
        }
    }编译器错误消息: CS1501: “Eval”方法没有采用“1”个参数的重载这是根据条件动态显示datalist中的某个字段值,不字段是哪错了,请大家指教!

解决方案 »

  1.   

    纠正下
    public string check(DataRowView container) 
      

  2.   

    Text=' <%#Check1(Eval("").ToString())%>public string Check1(string strv) 
        { 
          if (GlobalClass.IsLogin()) 
            { 
                return strv; 
            } 
            else 
            { 
                return "请登陆后查看联系人"; 
            } 
        } 
      

  3.   

    异常详细信息: System.ArgumentNullException: 值不能为空。
      

  4.   

    首先 你调用的和你申明的方法名称不相同  check 和 check1  
    public string Check1(DataRowView container)  其次 你要确保 你传入的 DataRowView  和你 (DataBinder.Eval(Container.DataItem)) 获取到的 是不是DataRowView
    很明显 DataBinder.Eval(Container.DataItem)这个的返回值 是 一个string型的数据同时 你的Eval里面的需要的参数你也的也不正确的  你根据环境提示也能发现有问题的 
      

  5.   

    public string Check(string consignername)
        {
            if (GlobalClass.IsLogin())
            {
                return consignername;
            }
            else
            {
                return "请登陆后查看联系人";
            }联系人:<asp:Label ID="Label6" runat="server"  Text='<%#Check(Eval("").ToString())%>'></asp:Label>改了,还是不行啊
      

  6.   

    你的Eval("")中间没有字段啊,Eval里面不能是空的~