protected override async Task <CompletionDataList> GetAttributeValueCompletions(IAttributedXObject ob, XAttribute att, CancellationToken token) { var list = (await base.GetAttributeValueCompletions(ob, att, token)) ?? new CompletionDataList(); if (ob is XElement) { if (ob.Name.HasPrefix) { string id = ob.GetId(); if (string.IsNullOrEmpty(id) || string.IsNullOrEmpty(id.Trim())) { id = null; } AddAspAttributeValueCompletionData(list, ob.Name, att.Name, id); } } else if (ob is WebFormsDirective) { return(WebFormsDirectiveCompletion.GetAttributeValues(project, DocumentContext.Name, ob.Name.FullName, att.Name.FullName)); } return(list.Count > 0? list : null); }