Im creating “forum like application” and I have textbox where users can enter tags delimited by comma when starting a thread. Now I would like to inform user that the tag doesn’t already exist in database and thus has no followers if he enters new one but still allow him to enter it if he wants.
Here is my code so far:
<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>
Code behind method:
[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();
}
}
I used solution that Yuriy suggested.