c# - 如何使用 web 服务从用户控件使 jquery 自动完成工作
问题描述
当我在文本框中键入时,我有 jQuery 来提取自动完成记录,这些数据是使用 web 服务获取的。现在,在 Default.aspx 页面中使用时一切正常,但是当我从 UserControl.ascx 使用此过程并在 default.aspx 页面中调用它时,它不会返回自动完成数据(结果)。
WebService.asmx 代码:[WebMethod]
public List<string> GetAutoCompleteData(string username)
{
string conString = ConfigurationManager.ConnectionStrings["MYCONNECTION"].ConnectionString;
List<string> result = new List<string>();
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlCommand cmd = new SqlCommand("select DISTINCT SSName from SSRecord where SSName LIKE '%'+@SearchText+'%'", con))
{
con.Open();
cmd.Parameters.AddWithValue("@SearchText", username);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
result.Add(dr["SSName "].ToString());
}
return result;
}
}
}
UserControl.ascx 代码:
<script src="jquery-1.11.2.js" type="text/javascript"></script>
<link href="jquery-ui.css" rel="stylesheet" />
<script src="jquery-ui.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
SearchText();
});
function SearchText() {
$(".autosuggest").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "WebService.asmx/GetAutoCompleteData",
data: "{'username':'" + document.getElementById('txtSearch').value + "'}",
dataType: "json",
success: function (data) {
response(data.d);
},
error: function (result) {
alert("Error");
}
});
}
});
}
</script>
<label for="tbAuto">Enter UserName: </label>
<asp:TextBox ID="txtSearch" runat="server" class="autosuggest"></asp:TextBox>
默认.aspx 代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Src="~/UserControl.ascx" TagPrefix="uc1" TagName="UserControl" %>
<body>
<form id="form1" runat="server">
<div>
<uc1: UserControl runat="server" ID="UserControl"/>
</div>
</form>
</body>
解决方案
我在下面的链接上得到了类似的帖子。因此,在链接中提到的一些修改之后,我能够解决这个问题。
https://www.aspsnippets.com/Articles/Implement-jQuery-Autocomplete-using-Web-Service-in-ASP.Net.aspx
推荐阅读
- java - 原因:org.jboss.as.server.deployment.DeploymentUnitProcessingException:WFLYEE0024:无法配置组件
- django - 如何在 URL 中发送信息?
- javascript - 如何禁用选择器
- excel - 在 Excel 中计算出现次数的总和
- java - Java,从文本文件中读取包含不同的分隔符
- css - CSS 伪元素中的 Font Awesome 未显示
- javascript - Google Map 中 KML 区域的点击事件
- rest - Marklogic REST API 通配符搜索
- type-conversion - 使用 apache camel spring-ws 时获取 org.apache.camel.InvalidPayloadException
- angular - NGRX 用于非持久化数据