C# 来自Web服务的HtmlEncode数据
我创建了一个简单的web服务,用于ajax AutoCompleteXtender控件。它工作得很好,我几乎完成了,除了有一件事困扰着我。当数据库中有使用html字符的数据时,输出数据对用户不友好。例如测试;安培测试。因此,当您开始在搜索框中键入Test时,显示的结果之一是Test;安培测试。我希望它显示为Test&Test,而不更改表中的数据。我不知道该怎么做 我曾尝试对字符串项进行htmlencode,但总是出现生成错误 提前感谢您的帮助 以下是我的Web服务的精髓:C# 来自Web服务的HtmlEncode数据,c#,asp.net,.net,web-services,html-encode,C#,Asp.net,.net,Web Services,Html Encode,我创建了一个简单的web服务,用于ajax AutoCompleteXtender控件。它工作得很好,我几乎完成了,除了有一件事困扰着我。当数据库中有使用html字符的数据时,输出数据对用户不友好。例如测试;安培测试。因此,当您开始在搜索框中键入Test时,显示的结果之一是Test;安培测试。我希望它显示为Test&Test,而不更改表中的数据。我不知道该怎么做 我曾尝试对字符串项进行htmlencode,但总是出现生成错误 提前感谢您的帮助 以下是我的Web服务的精髓: [WebMethod
[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;
}
行为的例子。很抱歉,我要模糊了
Items是一个字符串数组,HtmlEncode接受一个字符串。这就是为什么会出现构建错误。如果您单独对单个项目进行编码,它是否解决了您的问题
编辑:如果您执行items.SetValueServer.HtmlEncodedr[title].ToString,我想您至少应该让编码工作起来向我们展示您的尝试,并显示编译器错误。非常确定;amp不会引起任何问题。。。但是:存储的数据是未编码的a&b还是编码的a&;b?部分数据存储为编码,部分数据存储为非编码。字符串编码=Server.HtmlEncodeitems;返回编码;错误334参数1:无法从“string[]”转换为“string”实现此目的的最佳方法是什么?比如Server.HtmlEncodeitems.SetValuedr[title].ToString,i???