如何将(;)附加到自动填充文本框中的字符串

时间:2011-10-18 13:20:02

标签: c# asp.net

我有一个自动完成扩展器,并有一个列表,从中给出建议,我允许用户输入多个分号(;)分隔的值。并进行字符串拆分

string[] result =  txt_to.Text.Split(';');

输入一个值后,用户必须输入;这样他就可以输入第二个值,我怎样才能自动输入;选择每个值后,用户只需键入第二个值而不输入;

 <asp:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="txt_to"
                            MinimumPrefixLength="2" CompletionInterval="10" CompletionSetCount="3" EnableCaching="true"
                            FirstRowSelected="true" UseContextKey="True" ServiceMethod="GetCompletionList"
                            DelimiterCharacters=";" ShowOnlyCurrentWordInCompletionListItem="true" />

2 个答案:

答案 0 :(得分:1)

尝试添加2个处理程序。一个是按下'enter'键(如果用户使用键盘选择值),另一个是当使用时用鼠标选择一个值。 在处理程序附加;在文本框中。

希望有所帮助......

试试这个

添加扩展器:OnClientItemSelected =“addSemiColumn”

将这2个javascripts添加到您的页面:

function GetKeyPress(){
    if (window.event.keyCode == 13){
        document.getElementById ('txt_to').value +=";"; 
    }
}


 function addSemiColumn(){
     document.getElementById ('txt_to').value +=";"; 
}

这是你背后的代码:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If IsPostBack Then
        txt_to.Focus()
    End If
    txt_to.Attributes.Add("OnKeyPress", "GetKeyPress()")
End Sub

答案 1 :(得分:0)

当您选择值并在将此值设置为文本框之前,只需添加“;”选择该值,然后在文本框中设置。

由于 Jinesh Jain