C# 在asp.net中自动完成选择多个标记

C# 在asp.net中自动完成选择多个标记,c#,asp.net,web-services,autocomplete,tokenize,C#,Asp.net,Web Services,Autocomplete,Tokenize,任何人都可以告诉我如何在自动完成多个选择中使用标记化,我确信,我只希望使用asp.net web from web service 我的代码: $(函数(){ //城市的Web服务javascript代码 $(“[id*=ctl00\u ContentMain\u TextBoxSkills]”)。自动完成({ 来源:功能(请求、响应){ $.ajax({ url:“”, 数据:“{'username':'”+request.term+“}”, 数据类型:“json”, 类型:“POST”,

任何人都可以告诉我如何在自动完成多个选择中使用标记化,我确信,我只希望使用asp.net web from web service 我的代码:

$(函数(){
//城市的Web服务javascript代码
$(“[id*=ctl00\u ContentMain\u TextBoxSkills]”)。自动完成({
来源:功能(请求、响应){
$.ajax({
url:“”,
数据:“{'username':'”+request.term+“}”,
数据类型:“json”,
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
成功:功能(数据){
如果(数据长度>0){
响应($.map)(数据.d,函数(项){
返回{
标签:item.split('-')[0],
val:item.split('-')[1]
};
}))
}否则{
响应([{label:'未找到结果',val:-1}]);
}
}
});
},
选择:功能(e、u){
如果(u.item.val==-1){
返回false;
}
}
});
});

我想使用web服务从数据库中获取数据,并在前端显示以进行多次选择

Web Service:
DataTable dt = userRegistrationHelper.GetSkillsList(username);
        DataRow[] rows = null;
        rows = dt.Select(string.Format("SkillName = {0}", username));
        string[] result = new string[rows.Length];
        for (int i = 0; i <= rows.Length - 1; i++)
        {
            result[i] = rows[i]["SkillName"].ToString();
        }
        return result;
Web服务:
DataTable dt=userRegistrationHelper.GetSkillsList(用户名);
DataRow[]行=null;
rows=dt.Select(string.Format(“SkillName={0}”,username));
字符串[]结果=新字符串[rows.Length];
对于(int i=0;i
用逗号分隔的多个单词或值自动完成
$(函数(){
$(“[id*=ctl00\u ContentMain\u TextBoxSkills]”)。自动完成({
来源:功能(请求、响应){
$.ajax({
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
url:“”,
数据:“{'username':'”+extractLast(request.term)+“}”,
数据类型:“json”,
成功:功能(数据){
答复(数据d);
},
错误:函数(结果){
警报(“错误”);
}
});
},
焦点:函数(){
//防止在焦点上插入值
返回false;
},
选择:功能(事件、用户界面){
var术语=分割(该值);
//删除当前输入
terms.pop();
//添加所选项目
术语推送(ui.item.value);
//添加占位符以在末尾获得逗号和空格
术语。推送(“”);
this.value=terms.join(“,”);
返回false;
}
});
$(“[id*=ctl00\u ContentMain\u TextBoxSkills]”)。绑定(“keydown”,函数(事件){
如果(event.keyCode===$.ui.keyCode.TAB&&
$(this.data(“自动完成”).menu.active){
event.preventDefault();
}
})
功能拆分(val){
返回val.split(/,\s*/);
}
功能提取最后(学期){
返回拆分(term.pop();
}
});

hello@Manish,我正在使用您提供的代码,但该代码正在调用my web service方法,这给了我ERRORthnx帮助@Manish,现在我解决了这个问题。
Web Service:
DataTable dt = userRegistrationHelper.GetSkillsList(username);
        DataRow[] rows = null;
        rows = dt.Select(string.Format("SkillName = {0}", username));
        string[] result = new string[rows.Length];
        for (int i = 0; i <= rows.Length - 1; i++)
        {
            result[i] = rows[i]["SkillName"].ToString();
        }
        return result;
Autocomplete with multiple words or values with comma separated 

   $(function () {
     $("[id*=ctl00_ContentMain_TextBoxSkills]").autocomplete({
    source: function(request, response) {
    $.ajax({
    type: "POST",
    contentType: "application/json; charset=utf-8",
     url: '<%=ResolveUrl("~/WebServices/WebServiceSkills.asmx/GetAutoCompleteData")%>',
    data: "{'username':'" + extractLast(request.term) + "'}",
    dataType: "json",
    success: function(data) {
    response(data.d);
    },
    error: function(result) {
    alert("Error");
    }
    });
    },
    focus: function() {
    // prevent value inserted on focus
    return false;
    },
    select: function(event, ui) {
    var terms = split(this.value);
    // remove the current input
    terms.pop();
    // add the selected item
    terms.push(ui.item.value);
    // add placeholder to get the comma-and-space at the end
    terms.push("");
    this.value = terms.join(", ");
    return false;
    }
    });
    $("[id*=ctl00_ContentMain_TextBoxSkills]").bind("keydown", function(event) {
    if (event.keyCode === $.ui.keyCode.TAB &&
    $(this).data("autocomplete").menu.active) {
    event.preventDefault();
    }
    })
    function split(val) {
    return val.split(/,\s*/);
    }
    function extractLast(term) {
    return split(term).pop();
    }
    });