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# :
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 :
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 :
<input type="text" name="groups" id = "grpadd" class="autocomplete"/>
J'utilise Visual Studio 2010. Merci d'avance.
Partager