2011-03-08 6 views
1

ajax autocompleteextender 컨트롤과 함께 사용할 간단한 웹 서비스를 만들었습니다. 그것은 위대한 작품, 나는 거의 끝났어. 나를 괴롭히는 것이 하나있다. html 문자를 사용하는 데이터베이스에 데이터가있는 경우 출력 데이터는 사용자에게 친숙하지 않습니다. 예 : "Test; amp Test". 따라서 검색 상자에 "Test"를 입력하면 표시된 결과 중 하나가 "Test; amp Test"입니다. 대신 표의 데이터를 변경하지 않고 Test & 테스트로 표시하고 싶습니다. 정확히 어떻게하는지 모르겠습니다.웹 서비스의 HtmlEncode 데이터

문자열 항목을 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; 
     } 

예.

Example Image

+0

당신이 시도 무엇을 우리에게 보여 작동하고 컴파일러 오류를 보여 얻어야한다 같아요. –

+0

'; amp'는 문제를 일으키지 않을 것입니다 : 그러나 : 인코딩되지 않은 ('a & b') 또는 인코딩 된 ('a & b') 데이터가 저장되어 있습니까? –

+0

일부 데이터는 인코딩 된 상태로 저장되고 일부는 인코딩되지 않은 상태로 저장됩니다. – tking

답변

0

Itemsstring들과의HtmlEncodestring 취하는 어레이를 인 (미안 흐림해야한다). 그래서 빌드 오류가 발생합니다. 개별 항목을 개별적으로 인코딩하면 문제가 해결됩니까?

편집 : 당신이 items.SetValue(Server.HtmlEncode(dr["title"].ToString()),i)을한다면 난 당신이 적어도 인코딩

+0

이것을 수행하는 가장 좋은 방법은 무엇입니까? 'Server.HtmlEncode (items.SetValue (dr [ "title"]. ToString(), i));와 같이 ??? – tking

+0

답변을 업데이트했습니다. –