【发布时间】:2014-10-28 08:43:17
【问题描述】:
我已经尝试了一切,这让我发疯。 我做了一个在解决方案中工作的自动完成功能,但是当我在我的主解决方案中导出它(复制和粘贴)时,它不再起作用,并且我不断收到以下错误:“无法获取未定义或 null 的属性'长度'参考”。 它不能是 jquery 版本之类的东西,因为它可以在其他解决方案中使用。
aspx: CodiceFiscale.aspx
<link rel="Stylesheet" href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/them/redmond/jquery-ui.css" />
<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.0.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.22/jquery-ui.js"></script>
<script type="text/javascript">
$(function () {
$("#MainContent_provatxt").autocomplete({
source: function (request, response) {
var param = { cityName: $('#MainContent_provatxt').val() };
$.ajax({
url: "CodiceFiscale.aspx/GetCities",
data: JSON.stringify(param),
dataType: "json",
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
}
}))
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
},
minLength: 3
});
});
<asp:TextBox ID="provatxt" runat="server"></asp:TextBox>
啊,顺便说一句,我必须通过#MainContent_ 获取元素,因为浏览器中文本框的 id 与项目中的不同,但在其他解决方案中可以正常工作。
后面的代码:CodiceFiscale.aspx.cs
[WebMethod]
public static List<string> GetCities(string cityName)
{
List<string> City = new List<string>();
string query = string.Format("SELECT DISTINCT nome_comune FROM comuni WHERE nome_comune LIKE '%{0}%'", cityName);
using (MySqlConnection conn = new MySqlConnection("server=localhost;Database=servizi; Uid=root; Pwd=root;"))
{
using (MySqlCommand cmd = new MySqlCommand(query, conn))
{
conn.Open();
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
City.Add(reader.GetString(0));
}
}
}
return City;
}
【问题讨论】:
标签: c# jquery asp.net autocomplete