Bonjour,
Je me retrouve avec le problème suivant:
Dans mon projet de site web, je dois inclure une textbox qui autocomplète un nom de groupe dans l'active directory. La partie C#, je ne pense pas qu'il y ai de fautes (sinon j'aurai poster là bas), mais la partie ajax me pose le plus de problèmes. Voici les deux codes :
Le code c# :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
public ActionResult LookupTags(string q, int limit)
{
    List<string> tags = new List<string>(); 
    DirectoryEntry Ldap = new DirectoryEntry("LDAP://" + "toto", "blabla", "blibli");
    DirectorySearcher searcher = new DirectorySearcher(Ldap);
    searcher.Filter = "(&(objectClass=group)(SAMAccountName=" + q + "*))";
    searcher.SizeLimit = 5;
    foreach (SearchResult result in searcher.FindAll())
    {
        DirectoryEntry DirEntry = result.GetDirectoryEntry();
        tags.Add(DirEntry.Properties["SAMAccountName"].Value.ToString());
 
    }
    return new JsonResult() { Data = tags, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
la partie ajax :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
<script type="text/javascript">
    $(document).ready(function () {
            $(".autocomplete").autocomplete({
                source: function (request, response) {
                    $.ajax({
                        url: '@Url.Action("LookupTags","Home")',
                        dataType: "json",
                        data: {
                            maxRows: 12,
                            value: request.term
                        },
                        success: function (items) {
                            response($.map(items, function (item) {
                                return {
                                    value: item
                                }
                            }));
                        }
                    });
                },
                minLength: 3,
                select: function (event, ui) {
                    $(this).val(ui.item.value);
                }
            });
        });
</script>
et le input :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<input type="text" name="groups" id = "grpadd" class="autocomplete"/>
J'utilise Visual Studio 2010. Merci d'avance.