问题描述
由于asp.net项目中的某些原因,我的自动完成功能无法正常工作,我尝试了使用与数据连接中的数据源不同的方法,但无济于事。我已经为其创建了一个名为Diagnose的数据库,但是由于某种原因,它在jquery上显示错误404。
这是我的HTML代码:
isinstance
这是CS代码:
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.0.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.22/jquery-ui.js"></script>
<script>
$(function () {
$("#search-diagnosis").autocomplete({
source: function (request,response) {
var param = {
searchdetails: $('#search-diagnosis').val()
};
$.ajax({
url: "SearchController.cs/GetSearch",data: JSON.stringify(param),type: "post",contentType: "application/json; charset=utf-8",dataFilter: function (data) { return data; },success: function (data) {
response($.map(data.d,function (item) { return { value: item } }))
},});
},minLength: 1
});
});
</script>
<div class="search">
<input id="search-diagnosis" class="w-75" type="text" placeholder="Start typing your diagnois...">
</div>
它显示错误:
当我打开[WebMethod]
public static List<string> GetSearch(string searchdetails)
{
List<string> search = new List<string>();
string mainconn = ConfigurationManager.ConnectionStrings["mybase.database"].ConnectionString;
SqlConnection sqlconn = new SqlConnection(mainconn);
string sqlquery = string.Format("select Name from [dbo].[Diagnose] where Name LIKE '%{0}%'",searchdetails);
sqlconn.Open();
SqlCommand sqlcomm = new SqlCommand(sqlquery,sqlconn);
SqlDataReader sdr = sqlcomm.ExecuteReader();
while (sdr.Read())
{
search.Add(sdr.GetString(0));
}
sqlconn.Close();
return search;
}
时,它会向我显示此jquery-1.8.0.js:8214
我在这个问题上停留了一段时间,所以任何帮助都会很大,在此先感谢:D
解决方法
未找到返回404。我认为GetSearch应该在aspx或ascx文件中。 Webmethod可在System.Web上下文中使用,并且在某些情况下将需要Page。