Я создал простой веб-сервис для использования с элементом управления ajax autocompleteextender. Это прекрасно работает, я почти закончил, но есть одна вещь, которая беспокоит меня. Когда в базе данных есть данные, использующие символы html, выходные данные не являются дружественными для пользователя. Например "Тест; Тест теста". Поэтому, когда вы начинаете вводить «Test» в поле поиска, один из отображаемых результатов - «Test; amp Test». Я хотел бы, чтобы вместо этого он отображался как Test & Test без изменения данных в таблице. Я не уверен, как именно это сделать.
Я пытался htmlencode строковых элементов, но всегда получал ошибки сборки.
Заранее спасибо за помощь!
Вот смелость моего веб-сервиса:
[WebMethod]
public string[] GetActiveProducts(string prefixText)
{
ddconnection = new SqlConnection("Data Source=***;Initial Catalog=***;Connect Timeout=200;Persist Security Info=True;User ID=sa;Password=***;");
ddconnection.Open();
int count = 10;
string sql = "SELECT TOP 10 title FROM Product WHERE active = '1' AND title LIKE @prefixText";
SqlDataAdapter da = new SqlDataAdapter(sql, ddconnection);
da.SelectCommand.Parameters.Add("@prefixText", SqlDbType.VarChar, 60).Value = "%" + prefixText + "%";
DataTable dt = new DataTable();
da.Fill(dt);
string[] items = new string[dt.Rows.Count];
int i = 0;
foreach (DataRow dr in dt.Rows)
{
items.SetValue(dr["title"].ToString(),i);
i++;
}
return items;
}
Пример поведения. (извините, что пришлось размыть)