我已经创建了一个简单的Web服务,用于ajax autocompleteextender控件。它工作得很好,我差不多完成了,除了有一件事情困扰我。当数据库中存在使用html字符的数据时,输出数据对用户不友好。例如“测试;放大测试”。所以当你开始在搜索框中输入“测试”时,其中一个显示的结果是“测试;放大器测试”。我想让它显示为测试&测试而不更改表中的数据。我不确定如何做到这一点。HtmlEncode来自webservice的数据
我已经尝试过htmlencode字符串项目,但总是得到构建错误。
在此先感谢您的帮助!
这里是我的web服务的胆量:行为
[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;
}
例。 (遗憾地模糊)
向我们展示你尝试过什么,并显示编译错误。 – 2011-03-08 20:03:47
很确定''amp'不会引起任何问题......但:是存储未编码('a&b')还是编码('a & b')的数据? – 2011-03-08 20:03:47
一些数据存储编码,一些数据未编码存储。 – tking 2011-03-08 20:05:32