标题: 为什么LinkButton不起作用了,AD中的用户也找不到了
- 柚子Nan 2005-07-01 14:13 阅读:1098
- 评论:0 | 添加评论
      这一周都在修Defect,修的晕头转向,今天遇到两个小问题,虽然很小但是很烦人,把这么一点实战经验分享给大家看看。

l         首先说LinkButton为什么失效了
    由于页面比较复杂,使用了一些Validator 控件,这是在客户端验证的控件,当有错误的时候就首先显示这个错误。但是这个Validator与LinkButton有什么关系呢?察看运行页面的HTML代码,发现生成了一段JavaScript,需要验证通过才可以进行。{if (typeof(Page_ClientValidate) != 'function' ||  Page_ClientValidate()) __doPostBack('LinkButton1','')}, 可是我没有加收工写过这些代码,后来发现LinkButton有个属性LinkButton.CausesValidation,获取或设置一个值,该值指示在单击 LinkButton 控件时是否执行验证,呵呵,很简单,把它设置为False就可以了。 

l         再说说AD中为什么找不到用户了
先前,为了查找一个用户,用如下的代码,然后在其他调用的地方判断这个SearchResult是否为空:

[图片]private SearchResult GetSearchResultByUserID(string UserID)
[图片][图片]    [图片]{
[图片]        System.DirectoryServices.DirectoryEntry AppNode = new DirectoryEntry(ServerName+"/"+OuName+","+DomainName,UserName,Password);
[图片]        DirectorySearcher Ds = new DirectorySearcher(AppNode);
[图片]        Ds.Filter = "(&(objectClass=user)(cn=" + UserID + "))";
[图片]
[图片]        SearchResult result = Ds.FindOne();
[图片]        return result;
[图片]    }
[图片]

    今天作了这样的一个用户管理的目录结构,如图:
[图片]
    (原来的用户都是在User Directory根目录下的)那么此时用户就找不到了,因为FindOne方法不会递归目录去查找,只是在当前的目录进行查找。后来没有办法,只好把它改成了FindAll,然后再对比每个节点的用户名是否相同。
[图片]private SearchResult GetSearchResultByUserID(string UserID)
[图片][图片]        [图片]{
[图片]            DirectoryEntry rootentry = new DirectoryEntry(ServerName+"/"+DomainName,UserName,Password);
[图片]            DirectorySearcher ds = new DirectorySearcher(rootentry);
[图片]            ds.Filter = ("(objectClass=user)");
[图片]            rootentry.RefreshCache();
[图片]            SearchResultCollection src = ds.FindAll();
[图片]            foreach(SearchResult sr in src)
[图片][图片]            [图片]{
[图片]                System.DirectoryServices.DirectoryEntry mUser = new System.DirectoryServices.DirectoryEntry(sr.GetDirectoryEntry().Path,UserName,Password);
[图片]                if(string.Compare(mUser.Properties["sAMAccountName"].Value.ToString(), UserID, true) == 0)
[图片][图片]                [图片]{
[图片]                    return sr;
[图片]                }
[图片]            }
[图片]            return null;
[图片]        }
[图片]

添加评论
返回顶部 | 返回首页