AutoCompleteExtender показывает предупреждение, если слова нет в списке - PullRequest
0 голосов
/ 11 марта 2012

Я создаю "форум как приложение", и у меня есть текстовое поле, где пользователи могут вводить теги, разделенные запятой, при запуске темы. Теперь я хотел бы сообщить пользователю, что тег еще не существует в базе данных и, следовательно, не имеет последователей, если он вводит новый, но все же позволяет ему вводить его, если он хочет.

Вот мой код:

<span>
 Tags
 </span>

 <asp:TextBox ID="txtTags" 
      Width="70%" 
      runat="server">
 </asp:TextBox>

<ajaxToolkit:AutoCompleteExtender
ID="TagsAutoComplete" 
runat="server"
TargetControlID="txtTags"
MinimumPrefixLength="1" 
CompletionInterval="3" 
EnableCaching="true" 
CompletionSetCount="10"
UseContextKey="True" 
ServiceMethod="GetCompletionList" 
DelimiterCharacters=",">
</ajaxToolkit:AutoCompleteExtender>

<ajaxToolkit:TextBoxWatermarkExtender 
ID="txtTagsWatermark" 
runat="server"
WatermarkCssClass="text-watermark"
TargetControlID="txtTags"
WatermarkText="Please enter tags sparated by 
               comma(,).You must enter at least one tag.">
</ajaxToolkit:TextBoxWatermarkExtender>

Метод кода:

   [System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
        public static string[] GetCompletionList(string prefixText, int count, string contextKey)
        {
            using (ProblemClassesDataContext context = new ProblemClassesDataContext())
            {
                var tags = (from tag in context.Tags where tag.Title.StartsWith(prefixText) select tag.Title).Take(count);
                return tags.ToArray();
            }
        }

1 Ответ

0 голосов
/ 29 марта 2012

Я использовал решение, предложенное Юрием.

...