查询一直为非空???麻烦了

  MyPetShopDataContext db = new MyPetShopDataContext();
    var name0 = args.Value;
    var c = from r in db.Category
            where r.Name.Equals(name0)
            select r;
    if (c != null)
    {
        args.IsValid = false; 


    }
    else
    {
        args.IsValid=true;
        i = 1;

    }

我想写asp.net 的注册界面,其中要求和数据库里面名称对比用户名重复与否,我使用自定义控件CustomValidator,但是死活没用

args.Value 这个值是什么?有没有赋值。

就算什么也查不出来,linq也会返回一个0个元素的空列表的吧。你试试在if的时候设个断点,看看c的结果是什么就知道了

1.你确定存在数据?
2.bebug出C的值,对比数据库看看是否符合