强制用户从自动完成中选择

时间:2012-02-27 03:41:17

标签: asp.net ajax autocomplete

我是asp.net的初学者。我现在面临一个问题。如何强制用户从ajax控件工具包自动完成中选择选项? 这是我的示例代码

<cus:cusTextBox ID="txtCMemberID" runat="server" Action="Edit"
    CssClass="inputTextM" OnTextChanged="txtCMemberID_TextChanged"
    AutoPostBack="True"></cus:cusTextBox>
<asp:AutoCompleteExtender ID="AutoCompleteExtender2" runat="server"
    ServicePath="~/Module/Common/autoComplete/acLewreMember.asmx"
    MinimumPrefixLength="1" ServiceMethod="GetSuggestedStrings"
    TargetControlID="txtCMemberID" CompletionInterval="10"
    CompletionSetCount="3" EnableCaching="true"
    CompletionListCssClass="completionListElement"
    CompletionListItemCssClass="listItem"
    CompletionListHighlightedItemCssClass="highlightedListItem"
    FirstRowSelected="True"
    ShowOnlyCurrentWordInCompletionListItem="True">
</asp:AutoCompleteExtender>

如您所见,文本框是自定义控件。是否有任何方法强制用户从自动完成中选择选项?请提供示例代码。感谢

1 个答案:

答案 0 :(得分:0)

ASP.NET包含一个称为验证程序的有用功能。

<asp:TextBox ID="TextBox2" ValidationGroup="Group2" runat="server" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" ErrorMessage="*Required" ValidationGroup="Group2"
ControlToValidate="TextBox2" runat="server" />
<asp:Button ID="Button2" Text="Validate Group2"
ValidationGroup="Group2" runat="server" />

以下是msdn的资源链接:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.requiredfieldvalidator.aspx

我不确定这些是如何使用自定义控件的,因为我在asp中相对较新。他们还有一个自定义验证器,可能更适合您的目的,但就像我说的那样。我完全不知道。

注意:如果客户端使用的是旧浏览器,则无法使用,因此您还需要使用以下命令检查服务器上该字段是否为空:

if (Page.IsValid)
{
     //stuff to do in your event handler
}